On Github alexvictoor / RxNetFromJs
Opérateurs spécifiques à certains types le type unit on ne peut pas faire de merge avec des choux et des carottes
Pas de Map... ... ni de FlatMap
des majuscules partout Lien fort avec LINQ
from quote in quotes where quote.Symbol == "MSFT" select quote;Select
from market in markets from quote in market.quotes where quote.Symbol == "MSFT" select quote;SelectMany
from start in mouseDown join move in mouseMove on mouseUp equals Observable.Empty<Unit>() into moveGroup
'event' .NET Anciennes API async APM Task, et IEnumerable
avec la méthode ToObservable()var obs = Read().ToObservable(); IEnumerable<string> Read() { while (true) yield return Console.ReadLine(); }
await myObservable;
ImmediateScheduler CurrentThreadScheduler TaskPoolScheduler
CurrentThreadScheduler c'est le trampoline JSEventLoopScheduler FTW
ObserveOn ?
SubscribeOn ?
Observable.Range(1, 10) .ObserveOn(Scheduler.TaskPool) .Subscribe( x => { Thread.Sleep(1000 - (100 * x)); Console.Out.WriteLine( x + " in thread " + Thread.CurrentThread.ManagedThreadId); } );les guaranties de sérialisation
1 in thread 8 2 in thread 9 3 in thread 8 4 in thread 8 5 in thread 14 6 in thread 9 7 in thread 13 8 in thread 9 9 in thread 14 10 in thread 9les guaranties de sérialisation
Observable.Synchronize()
ça s'appelle Serialize dans d'autres languages utilie notamment avec les Subject