首页 > 解决方案 > Nodejs express:如何从循环内的内部回调将值返回到外部回调中

问题描述

嗨,我是 nodejs 和 mongoDB 的新手。我没有将值从循环中的内部回调中获取到外部回调中。我试过以下代码

getDoctorsSchedules(req,res){
        console.log("*** All Doctor's Schedule..."); 
        doctorsschedulesRepo.getDoctorsSchedules(req.body,(err, data) => {
            if (err) {
                console.log("***All Doctor's Schedule Schedule: " + util.inspect(err));
                res.json({
                    states: null
                });
            } else {
                console.log('*** All Doctor Schedule ok');
                if(data)
                {
                   
                    var reslt;
                    reslt = function(data ,callback){
                        var r = [];
                        for( let i in data)
                        {
                            r[i] = data[i].toObject();
                            //fetch doctors details by doctor's id
                             doctorRepo.getDoctorListbyID(data[i].DoctorID,(err, result)=>{
                                if (err) {
                                    console.log('---- DOCTOR ' + util.inspect(err));
                                    
                                } else {
                                   if(result){
                                    r[i].Doctors = result;
                                    console.log(r[i].Doctors);
                                    callback(r[i].Doctors);
                                   }
                                }
                            });
                        }

                    }
                    res.json({"success":true,"data":reslt});
                           
                }
                
                
            }
        });
    }

实际上,我正在尝试通过 id 从内部回调中获取数据,并且此 id 作为 json 数组填充到外部回调中。

先感谢您

标签: node.jsmongodb

解决方案


推荐阅读