1
我試圖用rxJS從在angular2可觀察沒有改變打字稿全局變量訂閱方法
這一個HTTP請求處理響應是代碼:
isUserConfirmed(): boolean {
let result: boolean = false;
this.authService.isUserConfirmed().subscribe(
retrievedData => {
//if no errors from the server
if (retrievedData.success) {
//if the confirmed flag is true
if (retrievedData.payload){
result = true;
console.log("i"+result);
} else {
result = false;
}
} else {
this.showError(retrievedData.message);
}
},
error => {
this.showError(error);
});
console.log("o"+result);
return result;
},
showError(error) {
//...
}
編輯
當我運行這個,我得到這個輸出:
ofalse
itrue
這意味着suscribe方法中的結果值設置爲true,但不會更改返回的結果值。
我如何設法從訂閱區塊內返回設定的值?
你說得對日誌的順序返回值,所以,我怎麼能設法返回結果來自suscribe塊的值? –
我已經添加了代碼,查看返回語句。 1.返回this.authService.isUserConfirmed()。subscribe()2.返回結果這可能會解決你的問題 –
@PhilippeSimo \t 如果我的答案已經解決了你的問題,你介意接受答案嗎?謝謝。 –