美文网首页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递归函数,异步返回问题

    今天遇到一个return一个递归函数,数据异步,导致返回undefined。 后来改变了思路,先把list的所有l...

  • 递归函数遇到的一些坑

    递归遇到的一些坑。 为什么递归函数会返回None 上面的例子:在调用递归处不加return 就会返回None.因为...

  • ES6 - async await

    async 是什么 async 用于声明一个异步函数,这个函数 return 的内容如果是 promise,则返回...

  • Shell学习问题总结

    问题2: 问题1: Shell函数返回值,常用的两种方式:return,echo。 1、return语句 该返回方...

  • 尾递归

    尾递归 尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就...

  • 尾递归

    在函数返回的时候,调用自身,并且return语句不能包含表达式。 需要递归出口 出口条件成立后返回当前水平的pro...

  • return

    返回值return 调用函数可以返回东西 return有特点: 如果不写return,默认返回undefined ...

  • 函数二

    1. 函数的返回值 • 返回值就是函数执行以后返回的结果 • 通过return来指定函数的返回值 • return...

  • 2018-12-14

    return return的作用:--返回函数的返回值--跳出当前函数,return后的代码不再被执行(作用域) ...

  • break, continue 和 return 的用法及区别

    break, continue 和 return 的用法及区别 return:是函数返回语句,返回的同时函数也会停...

网友评论

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

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