Javascript 在NodeJS中返回未定义的异步函数
所以,我是一个新手,试图了解异步函数是如何工作的。用承诺中的“决心,拒绝”去做,效果很好。但是,当我尝试用async而不是新的Promise应用它时,由于某种原因,函数返回undefined。这是我的代码:) 注:对不起,我的英语不流利:)Javascript 在NodeJS中返回未定义的异步函数,javascript,node.js,asynchronous,async-await,Javascript,Node.js,Asynchronous,Async Await,所以,我是一个新手,试图了解异步函数是如何工作的。用承诺中的“决心,拒绝”去做,效果很好。但是,当我尝试用async而不是新的Promise应用它时,由于某种原因,函数返回undefined。这是我的代码:) 注:对不起,我的英语不流利:) 使用async/await 请尝试以下代码: obtenerCategoria = async(category) => { const categoriaDB = await Categoria.findOne({ descripcion:
使用
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
}
使用
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
}
obtenerCategoria没有返回值。此外,您可以在Categoria.findOne()调用中使用wait,并使用try/catch代替对exec()的调用,例如。obtenerCategoria没有返回值。此外,您可以在Categoria.findOne()调用中使用wait,并使用try/catch代替对exec()的调用,例如。
obtenerCategoria
不返回任何内容,crearClase也不返回任何内容。返回Categoria.findOne(…)
obtenerCategoria
不返回任何内容,crearClase
也不返回Categoria.findOne(…)