我正在尝试使用 for 循环读取 JSON 对象以格式化 JSON 数据,并通过将格式化的响应放入模型对象将其发送回客户端。
在 for 循环中,我正在处理两个基于几个条件的 promise 。有两个函数,每个函数都有一个返回的 promise 。在所有 promise 都得到解决后,我怎样才能得到我的最终数据?提前致谢。
for (var i = 0, i<jsonData.length; i++){
if(someCOndition){
getSomeData().then(function(data){
//some operation using data
})
}
if(someOtherCOndition){
getSomeOtherData().then(function(data){
//some operation using data
})
}
}
最佳答案
Promise.all([ promise1, promise2 ])
( Promise.all() on MDN ) 在标准 JS Promises (ES2015+) 的情况下。它返回一个新的 promise ,一旦所有传递的 promise 都得到解决,它就会得到解决。但请注意 - 当至少一个 promise 被拒绝时,它会立即被拒绝(它不会等待任何其他 promise)。
关于javascript - 在 for 循环中解决 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39308984/