第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

JavaScript 忽略將對(duì)象添加到數(shù)組

JavaScript 忽略將對(duì)象添加到數(shù)組

呼啦一陣風(fēng) 2023-03-03 15:23:53
function setUsersDefinitions(data, userID){    let users = new Array();    return new Promise((resolve)=>{        data.forEach(el => {            if (el.id_adder === userID) {                getUserName(el.id_added).then(u => {                    users.push({                        username: u,                        locked: el.locked !== null,                        canUnlock: el.locked === userID,                        id: el.id_added                    })                }).catch(e=>{                    console.log(e);                })            } else {                getUserName(el.id_adder).then(u=>{                    users.push({                        username: u,                        locked: el.locked !== null,                        canUnlock: el.locked === userID,                        id: el.id_adder                    })                }).catch(e=>{                    console.log(e);                })            }        })        resolve(users);    })}問(wèn)題是,當(dāng)我嘗試對(duì)生成的項(xiàng)目執(zhí)行 console.log 時(shí),它可以工作,但是當(dāng)它調(diào)用 Array.push 方法時(shí),它會(huì)忽略該命令。我究竟做錯(cuò)了什么?提前致謝。
查看完整描述

1 回答

?
繁星淼淼

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊

所有這些都應(yīng)該使用 async/await 來(lái)完成,而不是將所有內(nèi)容都包裝在一個(gè)中Promise——這將極大地簡(jiǎn)化您的代碼:


async function setUsersDefinitions(data, userID){

    let users = new Array();

    for(var i=0;i<data.length;i++){

        var el = data[i];

        var id = (el.id_adder === userID) ? el.id_added : el.id_adder;

        var u = await getUserName(id);

        users.push({

                     username: u,

                     locked: el.locked !== null,

                     canUnlock: el.locked === userID,

                     id: id

                  });

    }

    return users;

}

(注意:為簡(jiǎn)潔起見(jiàn)省略了錯(cuò)誤處理)


然后你應(yīng)該await在任何地方調(diào)用這個(gè)函數(shù)(它本身必須在一個(gè)async函數(shù)中):


async function doWork(){

    var users = await setUsersDefinitions(some_data, some_userID);

    console.log(users);

}


查看完整回答
反對(duì) 回復(fù) 2023-03-03
  • 1 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)