Javascript 如何兑现承诺。所有回应

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

我有一个产品列表,对于每个产品,我都会调用api来获得产品订阅

   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。我以为它存在,我的坏。。。因此,解决方案是使用扩展运算符。或者根据您的指示更改配置