提问者:小点点

使用异步和等待处理promise


我想使用异步并等待处理承诺。我想在下面的示例中使用这个方法:

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)


共1个答案

匿名用户

首先,您应该返回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)
}

相关问题