繁体   English   中英

可观察到的http.get上的Subscribe方法:第三个参数是什么?

[英]Subscribe method on http.get observable: what is the third argument?

我在Angular 2最终版本中的observable(http.get结果)上使用了subscription方法。 尽管subscription方法的第一个参数是从后端获取数据的函数,而第二个参数是在错误时执行的函数(例如状态http代码404),但我不理解第三个参数/函数的含义。

希望它总是在请求结束时执行(无论成功还是错误),我删除/停止了其中的加载指示符,但是未在出错时调用第三个函数。

每个序列的第三个参数是完整的处理程序。 它在没有参数的情况下被调用,只是通知序列已完成。

Observable.from([1,3]).subscribe(
  (v => console.log('value: ', v)),
  (e => console.log('error: ', e)),
  (() => console.log('the sequence completed!'))

将打印:

价值:1

价值:2

序列完成

可观察值完成时,将调用第三个回调。 这意味着可观察对象将不再发出任何事件。 当前,由Http.xxx调用返回的可观察Http.xxx仅发出一个事件并在此之后完成,因此第一个和第三个回调被同时调用(一个接一个),但是Http可能更改为最终发出多个事件,然后对于每个事件,将调用第一个回调,而在最后一个事件之后,将调用第三个回调。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM