将Array.map()的结果添加到一个数组中

Kle*_*mes 5 javascript arrays promise

我有一个字符串数组,['string1', 'string2']我想将它们中的每一个转换为(例如:) blob:http://something-new但我得到的结果(2) [Promise, Promise].如何获得解决的价值?

这是代码

const results = id.map(async assetId => {
    const responseIds = await API.assets.getAssetFileById(assetId);
    let asset = responseIds.data.asset;
    const urlCreator = window.URL || window.webkitURL;
    const blobFile = await file_helper.dataUrlToBlob(asset.file);

    return asset.file = await urlCreator.createObjectURL(blobFile);
});

console.log(results) // (2) [Promise, Promise]
Run Code Online (Sandbox Code Playgroud)

预期产量:

console.log(results) // (2) ['blob:http://something-new1', 'blob:http://something-new2']
Run Code Online (Sandbox Code Playgroud)

Jor*_*n S 2

Promise.all(results).then(function(urls) {
  console.log(urls);
});
Run Code Online (Sandbox Code Playgroud)

您需要等待所有承诺都得到解决,然后才能使用它们。