我写了一个在循环(map)中被调用且使用promise的函数。现在,我希望该函数同步运行并在下一次被调用之前退出。
function t1(){
let arr1 = [1,2,3,4,5];
return Promise.map(arr1, (val) =>{
const params = {
"param1" : val1
};
return t2(params);
});
}
function t2(event){
return Promise.resolve()
.then({
//do something
//code doesn't reach here in sync manner. all five instance are invoked and then code reaches here for first instance and so on
})
.then({
//promise chaining. do something more
})
}
t2被调用了五次,但我希望每个实例在前一个实例返回值之后才被调用。目前它并不会按照这样的方式行为,而是同时调用这五个函数。
由于项目限制,我不能使用async/await。
Promise.map
是什么?你使用的是bluebird还是其他的promise库? - Bergi