ES6

return递归函数,异步返回问题

2022-09-23  本文已影响0人  Frank_Fang

今天遇到一个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做值,然后每次取这个对象。
问题解决了!

上一篇 下一篇

猜你喜欢

热点阅读