What is a purpose of using rxjs observables in angular 6? And what are the advantages of rxjs over async/await?
本问题已经有最佳答案,请猛点这里访问。
我目前正在开发一个使用Angular6作为前端框架的Web应用程序。我还将使用一些API端点从服务器获取数据。在这里我被卡住了,根据AngularDocs,它建议使用RXJS,但是在使用RXJS操作符时我有点困惑。
如果在HTTP调用完成之前取消订阅,那么可以观察到
cancelable —HTTP调用将中止。Observable具有更好的可组合性,例如:默认情况下Promise有1个扁平化策略:
promise1.then(()=>promise2) ,rxjs有许多:开关图,合并映射,浓度图,排气图,
可观察到的更具表现力,它就像异步操作的lodash(有很多帮助操作员)
如果只考虑对API的HTTP调用,那么RXJS与Promise带来的好处可能就不多了。
原因是HTTP调用是"一次性"的。您触发1个调用,1个调用只返回1个结果或错误。就像prome是"一次性"的东西一样。
RXJS真正闪光的地方是当您必须处理可能随着时间推移排放超过1次的事件流时。cloud和dom是这类流源的两个例子。在这些情况下,你可以看到RXJS是如何承诺类固醇的。
这里有几个例子:
Angular大学的一个关于使用可观测的
关于同一主题的文章
如何用RXJS制作对象动画