RxJS: Observable.create () vs. Observable.from ()

What is the difference between the two?

return Observable.create(function(observer) {
    if (array)
        observer.next([]);
    else
        observer.next(null);
    observer.complete();
});

and

return Observable.from( array ? [] : null );

I thought it might be the same thing, but it doesn't work the same.

+7
source share
4 answers

create(...)is a generic Observablefactory method for creating Observable, in which you explicitly specify how values ​​are passed toSubscriber

For example, if you were to create a timer base Observable(if it does not already exist as Observable.timer), you can do:

   Observable.create(observer => {
     const timeoutId = setTimeout(() => {
       observer.next(0);
       observer.complete();
     }, 500);

     return () => clearTimeout(timeoutId);
   });

from(...) - , , Observable ( ). , Observables. :

  • Promises

, fromArray fromPromise, , from

, Observable.of ( , just/return of RxJS 5, , ).

.

// Don't quote me on the import part
import 'rxjs/add/observable/of';

Observable.of(1, 2, 3, 4).subscribe();
+15

: Observable.from() null , . , null. (. , .)

() just:

return Observable.just( array ? [] : null );

, .

import 'rxjs/add/operator/just';

rxjs.
: just of, . .

0

, , "create/next" , "from" , ,

Observable.create(observer => observer.next(myArray)) onNext myArray, Observable.from(myArray) onNext, .

0

Observable.from():
( Rx), Observable. Observer Observable, Next() , Completed() , .

Observable.create():
Observable, ( ) . . onCompleted, . onError ( ).

0

Source: https://habr.com/ru/post/1663575/


All Articles