[英]Results of http call in angular 2
角度2完全陌生,並且在捕獲http調用的結果時遇到問題。 調用很簡單,僅返回帶有成功/失敗和消息的json。 我已經開始對這些調用使用promise,並且可以在瀏覽器中顯示結果,但是無法記錄或警告結果。 讓我知道您是否需要更多信息。
服務:
deleteTsUser(params){
var url = this.userDeleteUrl + '?' + params.toString();
return this.http.get(url)
.toPromise()
.then(this.extractData)
.catch(this.handleError);
}
零件:
var result = this._tsUserService.deleteTsUser(params)
.then(
r => {
this.result.result = r.result,
this.result.messages = r.messages
}
);
console.log('RES: ' + this.result.result)
模板:
{{ result.result }} :: {{ result.messages }}
結果在模板中正確顯示,但是console.log消息僅記錄“ Res:” ...為什么不起作用? 我錯過了一些非常基本的東西,對吧? 副詞
因為:
var result = this._tsUserService.deleteTsUser(params)
.then(
r => {
this.result.result = r.result,
this.result.messages = r.messages
}
);
是異步操作。 當deleteTsUser
方法完成時,結果將在then
回調中准備好。
var result = this._tsUserService.deleteTsUser(params)
.then(
r => {
this.result.result = r.result;
this.result.messages = r.messages;
console.log('RES: ' + this.result.result);
}
);
將記錄結果。
我建議您閱讀: 如何返回異步調用的響應? 關於javascript的異步行為
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.