RxJs:抛出错误不允许.retry当Observable以.fromEvent开头时

时间:2018-06-14 14:25:06

标签: javascript angular rxjs

我有一个由'input'事件启动的Observable。每当我想抛出错误重试时RxJs不允许我重试Observable。这似乎特别发生在.fromEvent。

我想要的是能够在没有 Observable完成的情况下抛出错误,捕获它并执行一些代码,如日志记录或DOM操作。

每当我尝试运行代码时,

Console都会给我Uncaught TypeError: a.addListener is not a function

示例代码:

var userIdInputStr = Rx.Observable
  .fromEvent(document.querySelector('#inputUserID'), 'input')
  .map(U.getTargetValue)
  .map(_ => {
    throw 'Error';
  })
  .retryWhen(e => {
    e.pipe(
      e.tap(console.log('Something went wrong...')),
      e.delay(500)
    );
  })
  .subscribe(v => {
    console.log('Got value, nothing happened.');
  });

0 个答案:

没有答案