我无法弄清楚请求元组返回类型和Promise.all()
之间的这些类型。
有什么想法吗?
const createPromises = async (utteranceObject: Array<string[]>):
Promise<Array<[string, Blob]>> => {
const promises = utteranceObject.map((keyValue) => {
return buildAudioFetchRequests(keyValue[0], keyValue[1]);
});
return Promise.all<Promise<[string, Blob]>[]>(promises);
};
const buildAudioFetchRequests = (key: string, url: string):
[string, Promise<[string, Blob]>] => {
return [key, useAuthenticatedFetch(url, { initialCache: false })];
};
1条答案
按热度按时间hgncfbus1#
您在基于变量名称
promises
的代码中有一个误解。buildAudioFetchRequests
的返回类型不是一个promise,它是一个键和一个promise的元组。因为await不关心对象或数组的内容,所以await返回相同的元组。基于所有其他返回类型,您似乎希望等待属于元组的所有返回承诺,因此改为如下所示:
根据伯吉的评论:
当你所做的只是忽略它的时候,为什么还要从
buildAudioFetchRequests
的元组中返回key
呢?如果确实没有在任何地方使用该函数返回值的键,也可以这样做: