問題描述我需要做一個(gè)返回?cái)?shù)據(jù)集,是個(gè)對(duì)象數(shù)組awardList,里面的每一個(gè)對(duì)象有className屬性和stuInfo屬性,stuInfo屬性是一個(gè)對(duì)象數(shù)組,然后里面的對(duì)象的屬性有name和awardInfo,這些對(duì)象和數(shù)組都是構(gòu)造出來(lái)的,利用數(shù)據(jù)庫(kù)查詢出來(lái)的數(shù)據(jù)逐一進(jìn)行填充,我自己寫的代碼執(zhí)行完之后,發(fā)現(xiàn)awarsList依舊是一個(gè)空數(shù)組,感覺還是異步的問題,卻找不出問題在哪。問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法之前使用的是回調(diào)函數(shù),后來(lái)改寫成Promise相關(guān)代碼//請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)letgetClassInfo=function(jobId){letsql=`SELECTcounselorclasscontact.classId,class.classNameFROMcounselorclasscontact,classWHEREclass.classId=counselorclasscontact.classIdANDcounselorclasscontact.jobId=?`;returnnewPromise(function(resolve,reject){db.query(sql,[jobId],function(results,field){try{resolve(results)}catch(err){reject(err)}})})}letgetStuInfo=function(classId){letsql=`SELECTDISTINCTawardinformation.studentId,student.nameFROMstudent,awardinformationWHEREawardinformation.classId=?ANDawardinformation.studentId=student.studentId`;returnnewPromise(function(resolve,reject){db.query(sql,[classId],function(results,field){try{resolve(results)}catch(err){reject(err)}})})}letgetStuAwardInfo=function(studentId){letsql=`SELECTawardinformation.awardName,awardinformation.awardTime,awardinformation.awardAgencyFROMawardinformationWHEREawardinformation.studentId=?`;returnnewPromise(function(resolve,reject){db.query(sql,[studentId],function(results,field){try{resolve(results)}catch(err){reject(err)}})})}exports.getAwardByCounselor=function(send,jobId){letawardInfoList=[];//letclassResult=awaitgetClassInfo(jobId);getClassInfo(jobId).then(function(classResult){for(leti=0;i
js異步構(gòu)建包含對(duì)象的數(shù)據(jù)返回集問題十分感謝
千萬(wàn)里不及你
2019-08-21 12:47:03