问题描述es6中一个function内的循环,循环里有异步,怎么让最终的结果被return,在循环外return不是想要的结果问题出现的环境背景及自己尝试过哪些方法用vue2开发的web项目,Promise和async/await都有个问题就是循环内得到的是promise对象,无法在循环外return想要的结果相关代码//请把代码文本粘贴到下方(请勿用图片代替代码)async_normalizeSongs(list){if(!list){return}letrest=[]letindex=1console.log(list)for(leti=0;iif(list[i].songid&&list[i].albummid){ letres=awaitgetSongVkey(list[i].songmid)if(res.code===ERR_OK){constfilename=res.req_0.data.midurlinfo[0].filenameconstvkey=res.req_0.data.midurlinfo[0].vkeyconstnewSong=createSong(list[i],filename,vkey)//console.log(newSong)rest.push(newSong)}}index++}returnrest}_genResult(data){letrest=[]if(data.zhida&&data.zhida.singername){rest.push({...data.zhida,...{type:TYPE_SINGER}})}if(data.song){letpromise=this._normalizeSongs(data.song.list)promise.then((res)=>{console.log(res)/*rest=rest.concat(res)this.result=rest*/rest=rest.concat(this._normalizeSongs(data.song.list))})}console.log(rest)returnrest}你期待的结果是什么?实际看到的错误信息又是什么?_genResult这个函数里promise里的res怎么return出这个函数,路过的道友们给看看,万分感谢
慕沐林林
相关分类