我正在遍历包含一些用于构建页面的规则的JSON。循环是这样的:
flux.forEach(element => {
this.navCtrl.push(element.pageName);
});
这里的问题是,我需要等待该页面执行其操作,然后再调用下一个,此循环会产生一个堆栈。我该如何保证在继续循环之前等待页面执行其职责?
谢谢大家!
答案 0 :(得分:1)
要依次解决承诺,可以按照here的说明使用reduce()
。
element.reduce((promise,item) => {
return promise.then(() => {
return new Promise((resolve, reject)=> {
this.navCtrl.push(element.pageName);
resolve();
})
})
},Promise.resolve())