BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

RxJS的异步、LINQ和未来

| 作者 Jonathan Allen 关注 530 他的粉丝 ,译者 姚琪琳 关注 0 他的粉丝 发布于 2013年12月31日. 估计阅读时间: 1 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT