相当于RxJava

Ara*_*ram 2 c# reactive-programming system.reactive rx-java

我们可以在C#Rx中异步执行一些代码,如下所示,使用Observable.Start().我想知道RxJava中的等价物是什么.

void Main()
{
      AddTwoNumbersAsync (5,4)
      .Subscribe(x=>Console.WriteLine(x));

}
IObservable<int> AddTwoNumbersAsync(int a, int b)
{
      return Observable.Start(() => AddTwoNumbers(a, b));
}
int AddTwoNumbers(int a, int b)
{
  return a + b;
}
Run Code Online (Sandbox Code Playgroud)

Ada*_*m S 5

您可以将操作推迟到订阅,并确保在另一个线程上发生订阅:

Observable<Integer> sumDeferred = Observable.defer(new Func0<Observable<Integer>>() {
        @Override
        public Observable<Integer> call() {
            return Observable.just(addTwoNumbers(5, 4));
        }
    }).subscribeOn(Schedulers.io());
sumDeferred.subscribe(...);
Run Code Online (Sandbox Code Playgroud)