繁体   English   中英

Null 来自嵌套异步 function 的返回值

[英]Null return value from a nested async function

这个 function 如何返回 null? 是因为变量 scope 还是函数的执行时间?

async function getBook() {
      var book;
      await libray.findONe({ cat: 1 }, {}, async (err, res) => {
        await section.findONe({ secId: res.secI }, {}, (error, result) => {
          book = result;
        });
      });
    
      book = result;
    }


return book;
}

尝试这个

async function getBook() {
      const res = await libray.findOne({ cat: 1 });
      const book = await section.findOne({ secId: res.secI });
      return book;
    }

我认为问题在于您在异步 function 完成之前从 function 返回。 所以解决这个问题的一种方便方法是从异步 function 中进行回调 function。

对不起,我不是一个 js 人,所以我实际上不能发布代码,但我认为你明白了..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM