有没有一种方法可以同时运行三个方法,然后将结果分配给对象?我已经尝试过下面的示例,但是它不起作用。
const checkResults: IMyType = {
chk1: await startChk1.run(),
chk2: await startChk2.run(),
chk3: await startChk3.run(),
};
Promise.all(
[chk1.run(), chk2.run()],
chk3.run()
).then((results) => {
const theResults: IMyType = {
chk1: results[0],
chk2: results[1],
chk3: results[2]
};
});
答案 0 :(得分:1)
类似于以下内容的方法将一次运行3个方法并将值返回给3个变量:
let [ var1, var2, var3 ] = await Promise.all([chk1.run(), chk2.run(), chk3.run()])
如果要将结果分配给数组,则可以将3个变量替换为数组名称,例如让chkArray = ...