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)
。这真的是你想要的吗?