http.get observable 上的订阅方法:第三个参数是什么?

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

我在 Angular 2 最终版本中对可观察对象(http.get 的结果)使用订阅方法。虽然 subscribe 方法的第一个参数是从后端获取数据的函数,第二个参数是错误执行的函数(如状态 http 代码 404),我不明白第三个 argunent/function 的含义。

希望它在请求结束时总是执行(成功或错误),我remove/stop在其中加载指示器,但第三个功能是未调用错误。

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

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

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

将打印:

值:1

值:2

序列完成