Передача функции обратного вызова и создание Observable из нее - PullRequest
0 голосов
/ 01 апреля 2019

Я не могу создать новый объект 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.

Что здесь не так? Есть ли лучшее решение для решения этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...