最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

返回NodeJS中未定义的异步函数

运维笔记admin5浏览0评论

返回NodeJS中未定义的异步函数

返回NodeJS中未定义的异步函数

所以,我正在尝试了解异步功能的工作原理。使用Promises中的“解决,拒绝”功能可以正常工作。但是,由于某种原因,当我尝试通过异步而不是新的Promise应用它时,该函数返回未定义。这是我的代码:)

PS。对不起我的英语,说不流利的:)


category = body.category

   obtenerCategoria = async(category) => {

       Categoria.findOne({ descripcion: category })
           .exec((err, categoriaDB) => {
               if (err) {
                   throw new Error(err)
               }
               if (!categoriaDB) {
                   return res.status(400).json({
                       ok: false,
                       msg: 'Categoria no encontrada'
                   })
               }
               console.log(categoriaDB); // Works fine here
               return categoriaDB
           })
   }


   crearClase = async() => {

       categoria = await obtenerCategoria(category);
       console.log(categoria); //getting nothing here

   }

   crearClase()
       .then()
       .catch(e => {
           return e
       })```
回答如下:

[使用callback时不需要使用async/await功能

尝试此代码:

obtenerCategoria = async(category) => {
    const categoriaDB = await Categoria.findOne({ descripcion: category });
    if (!categoriaDB) {
        return res.status(400).json({
            ok: false,
            msg: 'Categoria no encontrada'
        })
    }
    console.log(categoriaDB); // Works fine here
    return categoriaDB
}
发布评论

评论列表(0)

  1. 暂无评论