javascript - 在 for 循环中解决 promise

标签 javascript node.js promise

我正在尝试使用 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/

相关文章:

javascript - 与异步自定义 react Hook 作斗争。如何等待一个钩子(Hook)的结果以在另一个钩子(Hook)中使用?

javascript - 等待 Promise 返回的第一个 true 的干净方式

javascript - vue中路由更改后如何重新渲染已安装的组件?

javascript - 如何判断 JavaScript 是否导致我的更新面板更新?

javascript - 在 forEach 循环中创建 promise 并在不嵌套的情况下使用它们

node.js - 执行 "npm install"时出现很多错误

node.js - 用 node.js 编写的 CDN 服务器

javascript - 无法输出奇数索引数组值 - Javascript

javascript - Emberjs - 实时更改不起作用?

python - 使用 Python 子进程运行 npm 命令