美文网首页ES6
return递归函数,异步返回问题

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

作者: Frank_Fang | 来源:发表于2022-09-23 18:36 被阅读0次

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

    相关文章

      网友评论

        本文标题:return递归函数,异步返回问题

        本文链接:https://www.haomeiwen.com/subject/novnortx.html