gpt4 book ai didi

rxjs - Rx.Observable subscribe 和 forEach 有什么区别

转载 作者:行者123 更新时间:2023-12-03 06:10:41 24 4
gpt4 key购买 nike

像这样创建一个 Observable 后

var source = Rx.Observable.create(function(observer) {...});

订阅有什么区别

source.subscribe(function(x) {});

forEach

source.forEach(function(x) {});

最佳答案

ES7 spec ,其中 RxJS 5.0如下(但 RxJS 4.0 没有),两者不一样。

订阅

public subscribe(observerOrNext: Observer | Function, error: Function, complete: Function): Subscription

Observable.subscribe 是您进行大部分真正的 Observable 处理的地方。它返回一个订阅 token ,您可以使用该 token 取消订阅。当您不知道所订阅的事件/序列的持续时间,或者您可能需要在已知持续时间之前停止监听时,这一点非常重要。

forEach

public forEach(next: Function, PromiseCtor?: PromiseConstructor): Promise

Observable.forEach 返回一个 Promise,当 Observable 完成或出错时,该 Promise 将解析或拒绝。它旨在澄清您以更“同步”的方式处理有界/有限持续时间的可观察序列的情况,例如整理所有传入值,然后通过处理 promise 来呈现一次。

实际上,您可以以任何一种方式对每个值以及错误和完成事件进行操作。因此,最重要的功能差异是无法取消 promise 。

关于rxjs - Rx.Observable subscribe 和 forEach 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34533197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com