我有一个 API,它每隔一段时间就会触发一个回调事件:
api(params, (error, result) =>
console.log('PUBSUB', result)
);
这意味着我在 console.log 中看到此 api 结果的多个日志。
我希望使用 Observable 来执行此操作
const obs = Observable.bindNodeCallback((params, callback) =>
api(params, callback)
);
obs.subscribe(data => console.log('OBSERVABLE', data));
我只看到一个console.log。与 https://github.com/ReactiveX/rxjs/issues/1401 相关,但我找不到让它多次触发的方法。
最佳答案
我最终采用了以下思路:
const obs = params => Observable.create(observer => {
api(params, (error, result) => {
if (error) {
observer.error(error);
} else {
observer.next(result);
}
});
});
如果有人有更好的想法,我很乐意更改已接受的答案。
关于javascript - 多次触发 Observable bindCallback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48505113/