2016-09-01 209 views
5

我已經觀看了Angular的一些課程,並發現有不同的方式來管理來自Http請求的數據。Angular Http - toPromise or subscribe

  • 使用觀測量,.map().subscribe()
  • 使用的承諾,.toPromise().then().catch()

我在我的應用程序中使用toPromise(),因爲我覺得它類似於AngularJS HTTP服務。

在什麼情況下我需要使用Observables?

+1

Angular2嚴重依賴'Observables'。我寧願使用'subscribe()'來保持一致性。 – j2L4e

回答

12

如果您喜歡反應式編程風格,並希望在您的應用程序中保持一致,即使對於單個事件(而不是事件流)也要始終使用observables,然後使用observables。如果那對你無關緊要,那就用toPromise()

觀察對象的一個​​優點是,您可以取消請求。

另請參見Angular - Promise vs Observable

+2

我只會在教程中添加Observable優勢的好例子:https://angular.io/docs/ts/latest/tutorial/toh-pt6.html#!#-_observable-s(延遲搜索) –