[英]How do I use observable and observer in angular?
我來自同步編程背景,很難理解可觀察性。
這是我的服務/提供者的摘錄(Ionic 2項目)
return this.http.get(`${this.serverApi}`)
.map(res => <Response[]>res.json());
我將通過LoginPage
訂閱。 我對此有幾個問題。
即使我沒有這樣聲明,上述代碼是否也會返回可觀察/觀察者?
響應為JSON。 如何進行JSON的某些檢查/處理並執行某些操作,例如
res.auth_token==true
然后做
localStorage.setItem(res.auth_token)
我相信應該在提供程序類中完成。 只是一個典型的提示/示例就很棒。
請求到達訂閱方法時,請求實際上會發生嗎?
從Angular 2 Service創建和返回Observable時提及Subject和ReplaySubject。 我應該改用它們嗎?
該代碼將返回一個Observable
您可以將回調主體更改為塊並添加所需的代碼
return this.http.get(`${this.serverApi}`)
.map(res => {
let x = <Response[]>res.json();
// do something with x
res.auth_token == true;
return res; // with a block body an explicit`return` is required
});
.subscribe()
將執行http.get()
,然后執行所有后續運算符。 沒有.subscribe()
什么都不會發生。 注意:某些Angular API期望使用Observable
,在這種情況下,您不能調用subscribe()
因為subscribe()
返回的是Subscription
而不是Observable
。
http.get()
,則已經可以觀察到了,並且不需要Subject
, ReplaySubject
或任何其他可能性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.