【问题标题】:Difference between RxJs async operations and javascript promise or async awaitRxJs 异步操作和 javascript 承诺或异步等待之间的区别
【发布时间】:2019-12-03 08:06:12
【问题描述】:
这可能是一个愚蠢的问题,但请帮我解决这个问题。我开始学习 RxJs,但我可以看到 RxJs 用于响应式编程,我们可以订阅事件并处理多个事件并处理与可观察的链接,我怀疑在 javascript 中使用 async/await 或 promise 有什么区别因为他们也在 javascript 中执行异步流程。与 async/await 相比的任何优势。
【问题讨论】:
标签:
javascript
asynchronous
async-await
rxjs
【解决方案2】:
主要区别:Promise 是一次性的,而Observable 被假定为多次发射。
事件、HTTP 流、间隔计时器 - 这些都不适合 Promise。所以Observable 更像是生成器而不是Promise。
假设我们需要限制点击请求服务器有一些短暂的超时,以防服务器在 5 秒内没有响应。我们可以使用包裹在throttle 中的事件处理程序,然后运行基于Promise 的fetch,并使用Promise.race() 附加promisified 超时。
或者我们可以仅使用rxjs 将完整的流程描述为一组运算符。