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