我有一个场景,其中第1步:我已经运行了一个循环并将数据推送到数组步骤2:一旦我的第一个循环完成,我将开始第二个循环将数据推送到同一个数组
我试过异步函数,这是我的用例示例
var arr =[]; //declared globally
async function myloop(){
for(i=0;i<10;i++){
arr.push(i);
}
}
// Here is what I wanna do now
myloop().then(function(){
for(i=10;i<20;i++){
arr.push(i)
}
})
我必须等到我的函数推送循环中的所有数据,循环完成后我需要回到这里进行第二次运行
上下文有点不清楚,但我假设你从两个集合中接收两个数组,它们在Promise
中返回数组。
我们假设你有这两个功能。
function dataBaseCallX() {
// returns a Promise<Array>
}
function dataBaseCallY() {
// returns a Promise<Array>
}
你想把结果合二为好吗?然后在这里您可以使用async-await功能。我想这就是你想要的。
const resultA = await dataBaseCallX(); // An Array
const resultB = await dataBaseCallY(); // An Array
let combinedResults = resultA.concat(resultB);
如果出现错误,您可以将其简单地包装到try catch块中。