javascript - 多次触发 Observable bindCallback

标签 javascript observable

我有一个 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/

相关文章:

javascript - 将 Unix 纪元时间戳转换为 JavaScript 日期时间戳

javascript - 从嵌套回调函数中返回 Observable

Angular 7 行为主体与类对象

javascript - Observable.forkJoin 与 for 循环

javascript - d3.js:通过单一颜色在图表中对和弦进行分组

javascript - 在 Rhino 的服务器脚本中使用 jwt 生成 jsrsasign

javascript onclick 函数不运行函数中的所有代码

javascript - CSS 和 JavaScript

angular - rxjs/可观察到的 : Running a function once after getting first stream (continuous observable)

android - 使用Retrofit +RxJava在请求之间传输数据