收藏
回答

return返回函数结果为undefind?

this.data.Math=this._loadData("Math")
console.log(this.data.Math)


  _loadData:function(className,b){
    db.collection('LessonList_Test').where({
     videoClass: className
    }).orderBy('Date''desc').limit(10).get().then(res => {
      console.log(res.data);
    return res.data;
    })
  }


两个结果,只有函数中打印的出来。

这个可能是异步执行的结果。

怎么解决这个问题,让第一个打印也有结果。

回答关注问题邀请回答
收藏

1 个回答

  • 张有釜
    张有釜
    2021-03-17

    那是异步函数啊

    2021-03-17
    有用 1
    回复 5
    • 愿你归来仍少年
      愿你归来仍少年
      2021-03-17
      那个this.data.Math还没接到数据就打印出来了,怎么让他接到数据
      2021-03-17
      回复
    • 张有釜
      张有釜
      2021-03-17回复愿你归来仍少年
      有时间可以了解下异步函数 来不及 你可以把要执行的后续代码都放在回调内执行(替换return那行代码)
      2021-03-17
      回复
    • 愿你归来仍少年
      愿你归来仍少年
      2021-03-17回复张有釜
      但是我这样想封装一个功能,放进去的话就不行了,有其他方式吗
      2021-03-17
      回复
    • 张有釜
      张有釜
      2021-03-17回复愿你归来仍少年
      那就花点时间了解下异步函数吧 常用解决异步的方案 都能找到 1.回调2.promise 3.asycn/await
      2021-03-17
      回复
    • 愿你归来仍少年
      愿你归来仍少年
      2021-03-17回复张有釜
      好的谢谢了
      2021-03-17
      回复
登录 后发表内容
问题标签