Javascript 如何兑现承诺。所有回应
我有一个产品列表,对于每个产品,我都会调用api来获得产品订阅Javascript 如何兑现承诺。所有回应,javascript,node.js,typescript,Javascript,Node.js,Typescript,我有一个产品列表,对于每个产品,我都会调用api来获得产品订阅 const subscriptions = await Promise.all(products.flatMap((p: any) => { const { username, password } = p.credentials; return GetSubscription(username, password); })); console.log(subscripti
const subscriptions = await Promise.all(products.flatMap((p: any) => {
const { username, password } = p.credentials;
return GetSubscription(username, password);
}));
console.log(subscriptions);
实际:
[[
{},
{},
{},]]
现在你可以看到我这里有一个双嵌套数组,我不需要外部数组,我如何展平这个数组,我假设在这里使用flatMap可以帮助我,但它没有
预期:
[
{},
{},
{},]
当然,我可以简单地订阅[0],但如果可能的话,我会尽量避免订阅。这应该会对您有所帮助
常量输入=[{},{},{}],{hi:bye}]];
console.loginput.flat 使用扩展运算符 异步函数func{ 返回“A”; } 异步=>{ const[…ret]=等待承诺[ func, func, func, ]; console.logret;
};Array.prototype.flat-啊,简单的.flat没有使我的api调用GetSubscription,因此它没有工作属性“flat”在类型“[unknown,unknown,unknown,unknown,unknown,unknown,unknown]”上不存在。console.loghere,subscriptions.flat;类型“[unknown,unknown,unknown,unknown,unknown,unknown,unknown,unknown]”上不存在属性“flat”。console.loghere,subscriptions.flat;啊,当使用typescript时,我不得不将ES2019添加到lib configuration中,在基本typescript配置中没有Array.flat。我以为它存在,我的坏。。。因此,解决方案是使用扩展运算符。或者根据您的指示更改配置