如何在等待踢之前将Promise分配给JSON

时间:2018-02-14 12:38:29

标签: node.js

我有一个小问题。

我有一个以两种方式执行的命令。

runningTests // global array I want to push status to

A)正常

只执行一次代码
jStatusFormat.status=fnRunOnce(); // fnRunOnce returns promise 
runningTests.push(jStatusFormat);

所以在这之后我有了runingTests = [{status:pending}]

B)组 按需要多次执行for循环中的代码。在fnRunOnce响应中,循环继续进行另一次迭代。

async loop(){ // just loop that is made to iterate after response
   jStatusFormat.status=await fnRunOnce(); // fnRunOnce returns promise 
    runningTests.push(jStatusFormat);
}

所以在这之后我在runingTests = []里面什么都没有,我必须等待等待才能将我的对象变成数组。

问题

如何在等待踢之前推送我的阵列但是已经定义了状态?

可能的解决方案

我可以在调用函数之前推送到数组,但我需要以某种方式为它分配新的承诺。

如果有什么不清楚请写,我会回复

2 个答案:

答案 0 :(得分:0)

const promiseArray = []
async loop(){ // just loop that is made to iterate after response
   promiseArray.push(fnRunOnce())
}

jStatusFormat.status = Promise.all(promiseArray)
runningTests.push(jStatusFormat);

答案 1 :(得分:-1)

您应该删除await。我不确定你的案子还有其他选择。