js for循环中在最后一次执行后,进行后续方法的执行

因为执行的方法可能数据还没有彻底更新完,所以需要在彻底执行完for循环后执行方法。
解决方法:
通过clearTimeout来清除定时器,for循环执行结束之后执行setTimeout中的内容

 var time
 for(let i = 0;i<res.length;i++){
                let data = {}
                data.medicalApplianceName = res[i].medicalApplianceName
                let medicalApplianceId = res[i].id 
                Medicalappliancedata.find({
                        where:{
                            medicalApplianceId
                        }
                    }).then(resList=>{
                        data.list = resList
                       
                        ManufacturerList.push(data)
                        console.log(data);
                
                    })
                    clearTimeout(time)
                            time = setTimeout(() => {
                            
                                cb(null,ManufacturerList);
                              }, 100)
                        
            }

版权声明:本文为july_29原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。