observer.complete()是什么作用?

10
rxjs中,observer.complete()在observer.next()之后到底做了什么?

3
请查看 http://reactivex.io/documentation/observable.html,我相信你可以找到类似于这个问题的解答 https://dev59.com/AlsX5IYBdhLWcg3wNtPA - martin
文档没有告诉我的是,它是否也会取消订阅可观察对象? - Karan Hudia
2个回答

10

文档中可知,observer.complete用于通知Observer已完成向下推送通知的操作。

另一方面,observer.complete是一个回调函数,当Observable在最后一次调用next()时没有遇到任何错误,会调用该方法。


6
基本上它会自动取消订阅可观测对象吗? - Karan Hudia
我也在想同样的问题。这是否相当于自动取消订阅? - mtpultz
4
我有同样的问题并进行了测试,看起来一旦调用observer.complete(),观察者就停止接收通知,这让我认为调用complete()实际上是取消订阅观察者。 - mpkasp

5
在ReactiveX库中,有两种类型的消息。
第一种是普通消息。普通消息是使用.next()发送的,可以有0个或多个。
第二种类型是通知。这些可以分为两种类型-错误和成功。错误是使用.error()发送的,并在其中提供一些错误详细信息(如异常),而成功则是使用.complete()发送的,表示将故意没有消息。每个可观察对象应以单个错误或单个成功通知结束。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接