Javascript 在JS for循环中解析或拒绝承诺时调用相同的函数
下面是我的函数,它返回一个承诺:Javascript 在JS for循环中解析或拒绝承诺时调用相同的函数,javascript,promise,Javascript,Promise,下面是我的函数,它返回一个承诺: function myFunction(i){ return new Promise(function(resolve,reject){ setTimeout(function(){ console.log(i) resolve(i) },i*1000) }) } 当函数的承诺被解析或拒绝时,我想在循环的每次迭代中连续调用myFunction // rough idea but it doesn't work
function myFunction(i){
return new Promise(function(resolve,reject){
setTimeout(function(){
console.log(i)
resolve(i)
},i*1000)
})
}
当函数的承诺被解析或拒绝时,我想在循环的每次迭代中连续调用myFunction
// rough idea but it doesn't work
for (var i = 0; i < 5; i++) {
myFunction(i).then(function(){
myFunction(i)
}).catch(function(){
myFunction(i)
})
}
//想法很粗略,但不管用
对于(变量i=0;i<5;i++){
myFunction(i).then(function(){
我的职能(一)
}).catch(函数(){
我的职能(一)
})
}
如何使用ES5语法做到这一点?您可以使用polyfill,因此Promise也与旧浏览器兼容:为什么不使用普通的现代语法?您在ES5中使用的promise库是什么?它是如何工作的?你甚至没有正确设定最初的承诺。你需要按照说明使用它。在编写循环时,您将运行两次相同的函数调用
myFunction(i)
。这真的是你想要的吗?你可以使用polyfill,所以Promise也与旧浏览器兼容:你为什么不想使用普通的现代语法呢?您在ES5中使用的promise库是什么?它是如何工作的?你甚至没有正确设定最初的承诺。你需要按照说明使用它。在编写循环时,您将运行两次相同的函数调用myFunction(i)
。这真的是你想要的吗?