写点什么

RxJS 的异步、LINQ 和未来

  • 2013-12-30
  • 本文字数:475 字

    阅读完需:约 2 分钟

Reactive Extensions for JavaScript 2.2 包含一个可选的组件(rx.async.js),用于异步数据源。它满足了绑定到事件、回调和 promise 的需要。

对于标准事件, Rx.Observable.fromEvent 函数只要求对象持有事件和事件名称。 对于自定义事件, Rx.Observable.fromEventPattern 允许传递单独的函数,用于添加和解除事件处理程序。

将 promise 转换为可观察对象(observable)也十分简单。在构造完 promise 之后,用 Rx.Observable.fromPromise 包装一下即可。

对于 JavaScript 开发者,特别是 Node.js 开发者来说,回调必然是需要重点考虑的部分。

因此 Async RxJS 为标准 Node 风格的回调提供了包装器。后者假设回调的第一个参数用于传递错误信息。

RxJS 的未来

RxJS 未来的一个方向是查询表达式解析。和.NET 的 LINQ 一样,开发者可以在运行时对 IndexDB 和 OData 这样的数据源创建查询。尽管 OData 可以应对大多数场景,但这无疑为创建其他 LINQ 化的提供器打开了大门。

Rx 要解决的另一个问题是回压(back pressure)。当传入消息过于频繁而无法处理时,Observer 可以对源进行节流。

原文链接: Async, LINQ, and the Future of RxJS

2013-12-30 04:414755
用户头像

发布了 59 篇内容, 共 25.2 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容
RxJS的异步、LINQ和未来_JavaScript_Jonathan Allen_InfoQ精选文章