Rxjs吞下错误

阿昔洛法布罗

Rxjs很简单,我遇到了这种情况:

Rx.Observable
  .fromArray([1,2,3,4,5,6])
// if commented from here 
  .windowWithCount(2, 1)
  .selectMany(function(x) {
    return x.toArray();
  })
// to here .. the error bubbles up
  .subscribe(function(x) {
    console.log('x:',x)
    throw new Error("AAHAAHHAHA!");  
  });

带有windowWithCount + selectMany错误的错误会在内部静默捕获,并且无法捕获,也不会在控制台中通知

评论这2个块,至少在控制台上通知了错误,
我不认为这应该是这样,还是我错过了什么?
这是jsbin

布兰登

您的订阅函数永远不会抛出异常RxJs建模异步信息流,其中观察者代码通常与生产者代码异步运行(例如,不在同一调用堆栈上)。您不能依靠错误传播回生产者。

Rx.Observable
  .fromArray([1,2,3,4,5,6])
// if commented from here 
  .windowWithCount(2, 1)
  .selectMany(function(x) {
    return x.toArray();
  })
// to here .. the error bubbles up
  .subscribe(function(x) {
    try {
      console.log('x:',x)
      throw new Error("AAHAAHHAHA!");
    }
    catch (e) { console.log('error: ' + e); }
  });

话虽如此,RxJS似乎正在“吃掉”这个特殊异常,这可能是一个错误。RxJS尽其所能将未观察到的异常作为主机中未处理的异常引发。在这种情况下,这种机制似乎无法正常工作。您应该在GitHub上打开一个问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

不想承诺会吞下错误

来自分类Dev

es6承诺吞下类型错误

来自分类Dev

如何停止zone.js吞下您的错误invoke@node_modules/zone.js

来自分类Dev

rxjs:switchMap 忽略错误

来自分类Dev

CellTable单击吞下

来自分类Dev

吞下ccTouchMoved上的ccTouch

来自分类Dev

引用最新的rxjs时出现rxjs错误

来自分类Dev

RxJS在Ajax错误后继续侦听

来自分类Dev

RxJS:超时没有错误/完成

来自分类Dev

RXjs - 即使发生错误也继续收听

来自分类Dev

Angular 和 RXJS 承诺中的错误

来自分类Dev

RxJS HTTP 请求错误处理

来自分类Dev

在 RxJS 和 NodeJS 中捕获错误

来自分类Dev

在 RxJS 中超时后发出错误

来自分类Dev

nestjs 中的 Rxjs - 可观察的订阅错误

来自分类Dev

编译角度期间最新 rxjs 中的错误

来自分类Dev

吞下重复的图像并转换为webp

来自分类Dev

specs2-如何吞下异常

来自分类Dev

CasperJS:吞下Enter之类的特殊键?

来自分类Dev

可以吞下DB INSERT的异常吗

来自分类Dev

assert语句会吞下异常吗?

来自分类Dev

防止打开的CommandBar吞下Pointer事件

来自分类Dev

内部GroupBox不会吞下互动事件

来自分类Dev

Rake 不吞下 RSpec 消息输出

来自分类Dev

WPF 防止 TextBox 吞下 KeyDown 事件

来自分类Dev

RxJS-发生错误时,observable无法完成

来自分类Dev

Angular2 node_module rxjs 404错误

来自分类Dev

继续处理通过mergeMap可传递的RxJs中的错误

来自分类Dev

订阅rxjs主题时,打字稿中的类型错误?