Как мне создать «тему» ​​F # Observable? - PullRequest
0 голосов
/ 04 января 2019

В Rx я могу создать объект (что-то), например:

let s = new Subject<int>()

let subscription = 
  s.Subscribe (fun x -> 
    Console.WriteLine x
  )

s.OnNext 123

Объект является как наблюдаемым, так и наблюдателем.Это полезно при превращении обратных вызовов в потоки.

Что эквивалентно, если использовать встроенный модуль F # Observable?

Ответы [ 2 ]

0 голосов
/ 04 января 2019

В F # Snippets есть пример реализации:

Observable.Subject

Тип Subject реализует как IObserver, так и IObservable.Он функционально эквивалентен типу с тем же именем в библиотеке Reactive Extensions (Rx).

0 голосов
/ 04 января 2019

Вы сказали это:

Субъект является как наблюдаемым, так и наблюдателем.

Чтобы достичь эквивалента реализации Rx.NET, вам придетсяпредоставьте недостающие части, которые составляют интерфейс Subject.

Все значения в модуле Observable создают IObserver или возвращают не более двух IObservable с;это не имеет отношения к Subject с.

...