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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

promise mongoose 循環(huán)遍歷查詢

promise mongoose 循環(huán)遍歷查詢

慕仙森 2018-11-20 21:20:20
let result = []; //存放查詢結(jié)果model.WithdrawModel.find({status:'processing'}, (err, doc) => {            if (err) {                console.log(err);                res.json({ code: -1, msg: '查詢失敗'});                return;            } else {                doc.map((item) => {                    model.UserModel.findOne({phone:item.phone},'name IDcard bank bankCard bank_area bank_name', (err, bankInfo) => {                        if (err) {                            console.log(err);                        } else {                            let obj = {};                            Object.assign(obj, JSON.parse(JSON.stringify(item)), JSON.parse(JSON.stringify(bankInfo)));                            result.push(obj);                            console.log(result);                         }                    })                });                res.json({ code: 0, msg: '查詢成功', result: result});                return;  } });循環(huán)遍歷查詢,上述 result 直接返回空值,請問怎么保證 doc.map 內(nèi)部的查詢都結(jié)束之后再取出 result 的值?
查看完整描述

1 回答

?
拉風的咖菲貓

TA貢獻1995條經(jīng)驗 獲得超2個贊

promise.all 實現(xiàn)如下:

        let result = []; //存放查詢結(jié)果
        let doc1 = []; //存放第一次查詢的結(jié)果
        model.WithdrawModel.find({status:'processing'}).exec().then((doc) => {
            doc1 = doc;
            const promises = doc.map(item => model.UserModel.findOne({phone:item.phone},'name IDcard bank bankCard bank_area bank_name'));
            return Promise.all(promises);
        })
        .then((bankInfoList) => {//promise.all返回的結(jié)果是一一對應的
            for(let i=0; i<doc1.length; i++){
                let obj = {};
               
                Object.assign(obj, JSON.parse(JSON.stringify(doc1[i])), JSON.parse(JSON.stringify(bankInfoList[i])));
                result.push(obj);
            }
            return new Promise((resolve, reject) => {
                    resolve(result);
            })          
        })
        .then((result) => {
            return new Promise(() => {
                res.json({ code: 0, msg: '查詢成功', result: result});
                return;
            });
        })
        .catch((e) => {
            console.log(e);
            res.json({ code: -1, msg: '查詢失敗'});
            return;
        });

查看完整回答
反對 回復 2018-12-27
  • 1 回答
  • 0 關(guān)注
  • 1148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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