RxJS 替代 Promise.resolve?
RxJS alternative to doing a Promise.resolve?
RxJS 中 Promise.resolve
的等价物是什么?我知道我可以做到 Observable.fromPromise(Promise.resolve(someValue));
但必须有更简洁的方法。
Observable.of is what you are looking for (see this plunk):
// You might need to add this import in RxJS versions earlier than 5
import 'rxjs/add/observable/fromArray';
// ... or this line in RxJS 5+
import 'rxjs/add/observable/of';
if (me.groups) {
return Observable.of(me.groups);
}
Promise.resolve(),如果给出一个承诺,将 return 一个相同的承诺。它本质上是一个空操作,但它是确保您拥有的任何“东西”都经过承诺包装的有用方法。
Observable.of(),相比之下,如果给定一个可观察对象,则不是空操作;它将 return 一个包装原始 observable 的 observable。
为了of()比得上Promise.resolve这方面,这里输出:
rxjs.of( rxjs.of(1,2,3) ).subscribe( { next: v => console.log(v) } )
… 应该是 1、2、3,但实际上是 3 个可观察值。
不幸的是,我不知道 RxJS 运算符可以做到这一点。
RxJS 中 Promise.resolve
的等价物是什么?我知道我可以做到 Observable.fromPromise(Promise.resolve(someValue));
但必须有更简洁的方法。
Observable.of is what you are looking for (see this plunk):
// You might need to add this import in RxJS versions earlier than 5
import 'rxjs/add/observable/fromArray';
// ... or this line in RxJS 5+
import 'rxjs/add/observable/of';
if (me.groups) {
return Observable.of(me.groups);
}
Promise.resolve(),如果给出一个承诺,将 return 一个相同的承诺。它本质上是一个空操作,但它是确保您拥有的任何“东西”都经过承诺包装的有用方法。
Observable.of(),相比之下,如果给定一个可观察对象,则不是空操作;它将 return 一个包装原始 observable 的 observable。
为了of()比得上Promise.resolve这方面,这里输出:
rxjs.of( rxjs.of(1,2,3) ).subscribe( { next: v => console.log(v) } )
… 应该是 1、2、3,但实际上是 3 个可观察值。
不幸的是,我不知道 RxJS 运算符可以做到这一点。