use*_*467 1 node.js observable rxjs eventemitter reactivex
我有一个node.js EventEmitter,它引发以下事件:error, message。
有没有一种直接的方法可以从中创建 RxJS Observable?
即next()呼吁message并error()呼吁error。
你可以像这样创建它:
const obs$ = Observable.create(observer => {
emitter.on('message', val => observer.next(val));
emitter.on('error', err => observer.error(err));
});
Run Code Online (Sandbox Code Playgroud)
作为替代方案,您可以通过像这样构造和链接可观察量来做到这一点,但它的可读性显然较差:
const message$ = Observable.fromEvent(emitter, 'message');
const error$ = Observable.fromEvent(emitter, 'error');
const obs$ = Observable.merge(
message$.catch(err => Observable.of(err)),
error$.mergeMap(val => Observable.throw(val)),
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5979 次 |
| 最近记录: |