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

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

js await的函數(shù),這個(gè)函數(shù)里又有遞歸,還沒(méi)有執(zhí)行完就執(zhí)行了

js await的函數(shù),這個(gè)函數(shù)里又有遞歸,還沒(méi)有執(zhí)行完就執(zhí)行了

回首憶惘然 2019-03-15 14:15:49
使用 async await來(lái)操作函數(shù)異步,函數(shù)體內(nèi)有遞歸,但是遞歸還沒(méi)有完成就執(zhí)行完了函數(shù)。then里面的返回值是個(gè)數(shù)組但是數(shù)組打印的長(zhǎng)度是1,但真實(shí)長(zhǎng)度應(yīng)該是5,打斷點(diǎn)調(diào)試res的第一個(gè)返回值是一個(gè)長(zhǎng)度為1的數(shù)組,但是緊接著就是長(zhǎng)度為5的數(shù)組,await不是應(yīng)該等getAllDownRoteEquipment函數(shù)執(zhí)行完了再返回值嗎?請(qǐng)求大神解答    getAllDownRoute(){        viewer.vmethods.getAllDownRoteEquipmentArr().then(function(res){            console.log(res)        })    }    async getAllDownRoteEquipmentArr(id){              var equipmentArr = [];                var selectIds = viewer.getSelection()[0];                await viewer.vmethods.getAllDownRoteEquipment(selectIds,equipmentArr);                return equipmentArr;    }    getAllDownRoteEquipment(id,equipmentArr){        return new Promise(function (resolve) {            var aa = (id,equipmentArr)=>{                viewer.getProperties(id,function(res) {                    for (var i = 0; i < res.properties.length; i++) {                        if (res.properties[i].displayName == "型號(hào)") {                            var downEquipment = res.properties[i].displayValue;                            equipmentArr.push(downEquipment);                            resolve(equipmentArr);                            viewer.search(downEquipment,(searchId) =>{                                aa(searchId[0],equipmentArr)                            },function(){},"自身標(biāo)識(shí)");                            break;                        }                    }                })            }            aa(id,equipmentArr)        })    }
查看完整描述

2 回答

?
MMMHUHU

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

resolve(equipmentArr)之后這個(gè)promise狀態(tài)就不會(huì)改變了,然后await執(zhí)行就結(jié)束了。放在里面是可以的,但是你要判斷遞歸的結(jié)束條件,遞歸到結(jié)尾的時(shí)候才能執(zhí)行resolve。


查看完整回答
反對(duì) 回復(fù) 2019-03-21
?
猛跑小豬

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

問(wèn)題出在aa函數(shù)里的這一句resolve(equipmentArr);,調(diào)用resolve就返回了,然后才執(zhí)行后面的循環(huán)和遞歸的。


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

添加回答

舉報(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)