0
我正在使用Typescript編寫JS承諾。我有一個化合物承諾,即許它返回一個承諾 我有:確保在複合承諾中執行異常'.then()'
test() {
addElement("first")
.then(
function (val){
addElement("second");
console.log("second*);
})
.then(
function (val){
addElement("third");
console.log("third*");
});
}
export function addElement(elementText){
return new Promise(function(resolve,reject){
setTimeout(function(){
resolve();
}, Math.random() * 2000);
})
.then(console.log(elementText));
}
我想這些功能打印出,first, second*, second, third*, third
。不過,我得到:
JS:第一 JS:第二* JS:第三* JS:第三 JS:第二
如何獲得then
被叫承諾後執行'then
已完成?
通過設計,Promises在事件循環的下一次迭代中得到解決。 – zerkms
@zerkms有沒有辦法執行一些代碼後,所有的addElement邏輯執行?像onCompletion事件? –
你可以使用Promise.all()來計算執行順序。 –