在给定一个Promise数组时,ES7中惯用的方式是什么来获取结果?
这是我想做的:
async function getImports() {
let imports = [System.import('./package1.js'), System.import('./package2.js')];
let promises = await* imports;
let results = [];
await promises.forEach(val => val.then(data => results.push(data))); //seems hacky
console.log(results); // array of 2 resolved imports
}
结果是正确的,但我仍然需要使用 forEach 和 then 将已解决的 Promise 转换为结果。这对我来说似乎不太合适。是否有更简洁的方法?
let result = await* [Promise.resolve(1), Promise.resolve(2)];
是这样做的。 - m90promises
中的每个条目都包含一个[[PromiseValue]]
,但我不知道如何在没有forEach
和then
的情况下访问它们。 - Matt Kpromises
返回结果而不是Promise? - Matt K