我想使用异步并等待处理承诺。我想在下面的示例中使用这个方法:
exports.getUserData = async function(userId){
let query = {};
if(userId){
query.where = {userid : req.query.id}
}
let data;
try{
data = await entity.DB_User.findAll(query);
}catch(error){
console.log(error);
}
}
在执行时,它给了我一个错误
错误:
UnhandledPromiseRejectionWarning:未处理得承诺拒绝.这个错误可能是由于抛出一个没有catch块的异步函数内部,或者是由于拒绝了一个未用.catch()处理的承诺。(拒绝ID:3)
首先,您应该返回data
。
我认为在调用GetUserData
时会引发异常。尝试:
getUserData()
.then(data => console.log)
.catch(err => console.log) // this line prevent the UnhandledPromiseRejection
// or in async context
try {
const data = await getUserData()
console.log(data)
} catch (err) {
console.log(err)
}