传递回调函数并从中创建一个Observable

时间:2019-04-01 12:11:13

标签: javascript callback rxjs

我无法通过回调函数创建新的Observable对象,例如将glob函数转换为Observable流:

const stream$ = fromCallback(() => glob('src/**/*.ts'));
const fromCallback = (cbWrapper) => {
  const cb = cbWrapper();
  const args = cb.arguments;
  return Observable.create(observer => {
    args.push((err, data) => {
      if(err) {
        observer.error(err);
      } else {
        observer.next(data);
      }
      observer.complete();
    });
    cb.call(null, args);
};

这或多或少是我想要做的-创建一个fromCallback函数,该函数在包装器中接受我的函数,添加一个新的参数(它是回调处理程序),并根据结果调用观察者。但这不起作用-由于某些原因,cbWrapper()总是返回true

这是怎么了?有更好的解决方案来解决这个问题吗?

0 个答案:

没有答案