我有一个字符串数组['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]
预期输出:
console.log(results) // (2) ['blob:http://something-new1', 'blob:http://something-new2']
Promise.all()
中,一旦它们全部解决了,就可以创建数组了。这与 forEach 问题类似。 - Get Off My LawnPromise
,因为一个async
函数总是返回一个promise。 - Felix Kling