observable与promise


可观察对象 vs. 承诺

observable是声明式的,在被订阅之前,它不会开始执行。

promise是在创建时就立即执行的。

observable能提供多个值。这让可观察对象可用于随着时间的推移获取多个值。

promise只提供一个。

observable提供了 map、forEach、reduce 等运算符,用法类似于数组。还有一些强大的操作符,如 retry() 或 replay() 等,它们通常非常方便。

promise只有.then()语句。

observable的.subscribe()会负责处理错误。这让可观察对象可用于进行集中式、可预测的错误处理。

promise会把错误推送给它的子承诺。

observable具有可取消的优势,Observable 的订阅允许取消订阅, Promise 最终会调用成功或失败的回调,即使你不这样做不再需要通知或它提供的结果。