今天遇到一个return一个递归函数,数据异步,导致返回undefined。
return await this.loopChild(this.list, this.id)
// 因为那个数组层次很深,所以这个return总是返回undefined
...
async loopChild(list, id){
list.forEach((item)=>{
if(item.id===id){
return item.label
}else{
if(item.children){
return await this.loopChild(item.children, id)
}
}
})
}
后来改变了思路,先把list的所有label保存为一个对象,用id做key,label做值,然后每次取这个对象。
问题解决了!
网友评论