具有 API 請求的 Angular RXJS 主題和 Observable

使用 Angular 2 Http 服務和 RxJS 發出 API 請求與使用 Angular 1.x 中的 promises 非常相似。

使用 Http 類發出請求。Http 類通過相應的方法公開了發出 HTTP 請求 GETPOSTPUTDELETEPATCHHEAD 請求的方法。它還公開了用於發出任何型別的 HTTP 請求的通用 request 方法。

Http 類的所有方法都返回 Observable<Response>,你可以應用 RxJS 操作 。你呼叫 .subscribe() 方法並傳入一個函式,以便在 Observable 流中返回資料時進行呼叫。

請求的 Observable 流只包含一個值 - Response,並在 HTTP 請求成功完成時完成/結算,如果丟擲錯誤則為錯誤/錯誤。

注意,Http 模組返回的 observable 是冷的,這意味著如果你多次訂閱 observable,則每個訂閱將執行一次原始請求。如果要在應用程式的多個元件中使用結果,則會發生這種情況。對於 GET 請求,這可能只會導致一些額外請求,但如果多次訂閱 PUT 或 POST 請求,則會產生意外結果。