observer.complete() 有什么作用?

Kar*_*dia 7 javascript observable rxjs

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

Mih*_*nut 7

文件 observer.complete 通知Observer是,可观察到已发送完基于推送的通知。

另一方面,observer.complete它是一个回调函数,并且Observable在它最后一次调用next()之后调用这个方法,如果它没有遇到任何错误

  • 所以基本上它会自动取消订阅 observable ? (6认同)
  • 我有同样的问题并进行了测试,似乎一旦调用observer.complete(),观察者就停止接收通知,这让我认为调用complete()实际上是取消订阅观察者。 (3认同)

edd*_*P23 5

在ReactiveX库中,有两种类型的消息。

第一个是普通消息。普通消息是随同发送的消息.next(),可以有 0 到多个。

第二种是通知。这些可以有两种类型——错误和成功。发送错误时会.error()附带一些错误详细信息(例如异常),发送成功则.complete()意味着故意不发送任何消息。每个可观察的结果都应该以一个错误或一个成功通知结束。