Javascript 映射为异步不保存元素

Javascript 映射为异步不保存元素,javascript,arrays,Javascript,Arrays,为什么协议。美元总是返回0? 我试着制作一个虚拟承诺函数来测试它,它工作正常,但它不能与wait函数一起工作 async function addPrices() { const balances = await getBalances(); await Promise.all(balances.map(protocols => { protocols.usd = 0; protocols.balances.map(balance =&g

为什么协议。美元总是返回0? 我试着制作一个虚拟承诺函数来测试它,它工作正常,但它不能与wait函数一起工作

async function addPrices() {
    const balances = await getBalances();

    await Promise.all(balances.map(protocols => {
        protocols.usd = 0;

        protocols.balances.map(balance => {
            if (balance.underlying) {
                balance.underlying.map(async token => {
                    let price = await getPrice(token.address);
                    protocols.usd += price.market_data.current_price.usd;
                });
            }
        });
    }));
    return balances;
}

您没有在
协议=>{
-或
余额=>{
-中返回任何内容,因此,数组承诺中没有实际承诺。所有内容都在处理您可能需要
返回等待承诺.all(protocols.balances.map(balance=>{…}))
返回等待承诺.all(balance.undernative.map(异步令牌=>{…}))