איך דאַרפֿן צו ינסטרומענט אַ ווערסיע פון CombineLatest
(איך וועט רופן עס WithLatest
דאָ) וואָס רופט די סעלעקטאָר פֿאַר יעדער נומער אויף די לינקס און די לעצטע נומער אויף די רעכט. עס זאָל נישט שטופּן פֿאַר פּונקט רעכט ענדערונגען פון זאכן.
איך טראַכטן צי דאָס איז געבויט אָבסערוואַבלע. שאַפֿן
אָדער אַ קאָמבינאַציע פון יגזיסטינג יקסטענשאַנז איז נישט דער הויפּט וויכטיק; איך וועט מאַכן דעם אַ "קעסטל" געשפּרייט אופֿן אין קיין וועג.
בייַשפּיל
var left = new Subject<int>();
var right = new Subject<int>();
left.WithLatest(right, (l,r) => l + " " + r).Dump();
left.OnNext(1); // <1>
left.OnNext(2); // <2>
right.OnNext(1); // <3>
right.OnNext(2); // <4>
left.OnNext(3); // <5>
זאָל טראָגן
2 1
3 2
רעדאַגירן : די לאָגיק פון מיין בייַשפּיל איז:
WithLatest
און CombineLatest
עס איז סאַגדזשעסטיד אַז איך פּרובירן:
var lr = right.ObserveOn(Scheduler.TaskPool).Latest();
left.Select(l => l + " " + lr.First()).Dump();
אָבער דאָס בלאַקס אויף די קראַנט פאָדעם פֿאַר מיין פּראָבע.