0
林與承諾,我想我明白這個概念,但我的項目這不工作,奮力爲什麼我的諾言不做這項工作?
這裏有點我的代碼:
(我編碼TypeScirpt與角2和Ionic2)
ngOnInit() {
Promise.resolve(this.loadStatut()).then(() => this.testStatut());
}
testStatut() {
if (this.admin !== undefined) {
this.navCtrl.push(ConnectPage);
} else {
console.log("Undefined")
}
}
admin;
loadStatut() {
this.storage.get('admin').then((val) => {
this.admin = val;
console.log(this.admin)
});
}
testStatut
loadStatut
之前發送responde,我需要有相反的。
我嘗試用其他功能來測試和它的工作:
ngOnInit() {
Promise.resolve(this.test1()).then(() => this.test2());
}
test1() {
console.log("1")
}
test2() {
console.log("2")
}
下面的代碼是合法的test1
然後test2
謝謝,這是工作,你能解釋你的改變嗎? – Falender
當你鏈接時,你應該總是返回諾言,'this.storage.get(「foo」)'返回一個'Promise'並且因爲那個諾言返回了你的'ngOnInit'的'Promise.resolve'將會起作用。 –
@Flender,是的,camaron解釋說 – RezaRahmati