Node.JS:UnhandledPromiseRejectionWarning

时间:2018-06-13 16:20:54

标签: javascript node.js express async-await

我知道这不是一个独特的问题。我读过其中一些。但是,仍然找不到解决方案。

model.js (将负载保存到数据库。如果确定,请解析承诺)

let createUser = payload => {
    try {
        if( err ) return Promise.reject(err);
        else {                
            payload.save();
            return Promise.resolve(true);
        }
    } catch (error) {
        console.log(error);
        return Promise.reject(error);
    }
}

controller.js (将有效负载发送到模型,如果可以,则解析)

let createUser = async payload => {    
    try {
        let ret = await User.phoneExists(payload.phone);
        if ( ret === false) {                
            await User.createUser(payload);
            return Promise.resolve(true);
        }
        else return Promise.reject(false);
    } catch (error) {
        console.error(error);
        return Promise.reject(false);
    }
}

最后 :(呼叫控制器)

let createUser = async (req, res) => {
    try {
        await proc.createUser(req.body);
        res.status(200).json({ message: "Account created successfully." });
    } catch (error) {        
        if( error === false ) res.status(400).json({ message: "Message" });
        else res.status(417).json({ message: "Unknown error." });
    }
}

但是,我正在接受UnhandledPromiseRejectionWarning。我试着在 try-catch 块中写下所有内容。

不使用.catch()吗?如何使用.catch()和async / await?

我做错了什么?怎么解决这个问题?

更新 我的payload.save()被拒绝了。

由于

0 个答案:

没有答案