RxJS + (async/await)用于(多事件)用例
RxJS + (async/await) for (multiple-event) use cases
我正在编写一个Javascript应用程序从传感器获取数据。我开始使用ES6 Promises + Generators使用Bluebird和Bluebird。在客户端和服务器端都运行cororine ,但它不能正常工作。
有人告诉我Promises在(多事件)用例中不能正常工作,可以用RxJS替代。
我看了看RxJS,它看起来可以做同样的承诺,甚至更好。我想使用生成器(async/await)来编写异步代码,看起来是同步的,我的问题是:
我可以使用RxJS + (async/await)或RxJS已经有自己的方式做相同的(async/await)吗?
谢谢
Async/await不是ES6的一部分,它计划在ES7中使用。所以你可能不会很快在JavaScript中使用它。TypeScript从2.1开始支持ES5的async/await。
它认为当RxJS出来时,你将能够使用async/await。Async/await与Promises一起工作,就像RxJS一样,尽管它主要与observable一起工作。有一些方法,比如Observable.toPromise()
,可以将observable转换为Promises,而且大多数observable也接受Promise作为参数。
所以我认为两者可以很好地互换(我个人还没有尝试过)。
如果你的主要兴趣是使你的代码比RxJS更具可读性,那么RxJS是减少回调地狱的一个好选择。
这两个例子展示了如何使用Observable.concatMap()
操作符按顺序调用多个HTTP请求。这两个例子都是用TypeScript编写的,但在还有ES6。这些例子也使用了新的RxJS实现(https://github.com/ReactiveX/RxJS):
Angular 2 + rxjs -如何返回几个后续http请求获取的对象流
如何在ReactiveX/rxjs中使用排气映射
- keyup事件处理程序更改焦点不适用于快速键入
- ng更改事件不适用于Dropdown
- 用于多个类事件Jquery的单个函数
- 用于显示onclick事件计数的可调整跨度标记
- 事件不适用于通过Ajax推杆的元素
- HTML Oncick事件仅适用于#Anchor标记
- onclick事件不适用于phone gap android
- 用于显示服务器端验证结果的 Jqgrid 编辑事件
- 单击事件似乎不适用于 IE 中的选择元素
- 收集订阅者的流星事件,用于在 mongodb 中新插入文档
- 是否有 jQuery 事件用于何时将元素添加到文档中
- 在函数中定位动态创建的HTML元素(用于追加事件 - 而不是点击!)jQuery
- 用于从输入发出更改的事件
- 事件侦听器,用于完全关闭后重新启动的应用程序
- 注册用于捕获阶段的事件侦听器在冒泡之前未触发 - 为什么
- 与.find(someElem)相反,即.想要省略子项,如果 e.target 用于事件处理程序
- 正在JS文件中注册用于事件验证的脚本
- GM_xmlHttpRequest POST没有'不适用于事件侦听器
- Easeljs中的位图不适用于事件侦听器
- 重写用于事件处理的父原型方法