具有 API 請求的 Angular RXJS 主題和 Observable
使用 Angular 2 Http 服務和 RxJS 發出 API 請求與使用 Angular 1.x 中的 promises 非常相似。
使用 Http 類發出請求。Http 類通過相應的方法公開了發出 HTTP 請求 GET
,POST
,PUT
,DELETE
,PATCH
,HEAD
請求的方法。它還公開了用於發出任何型別的 HTTP 請求的通用 request
方法。
Http
類的所有方法都返回 Observable<Response>
,你可以應用 RxJS 操作 。你呼叫 .subscribe()
方法並傳入一個函式,以便在 Observable 流中返回資料時進行呼叫。
請求的 Observable 流只包含一個值 - Response
,並在 HTTP 請求成功完成時完成/結算,如果丟擲錯誤則為錯誤/錯誤。
注意,Http
模組返回的 observable 是冷的,這意味著如果你多次訂閱 observable,則每個訂閱將執行一次原始請求。如果要在應用程式的多個元件中使用結果,則會發生這種情況。對於 GET 請求,這可能只會導致一些額外請求,但如果多次訂閱 PUT 或 POST 請求,則會產生意外結果。