【问题标题】:catch error of my exported async/await function [duplicate]捕获我导出的 async/await 函数的错误 [重复]
【发布时间】:2020-11-13 10:22:27
【问题描述】:

我有检查用户名是否唯一的模块! 我的模块是:

// Check for uniqueness username
const UsernameUniqueness = async (_username) => {

    const username = await Users.findOne({
        username: _username
    });

    if (username) {
        return false;
    }

    return true;

}

exports.UsernameUniqueness = UsernameUniqueness;

我有一条路线,我可以向它发布用户名。

const FormUniqueness = require('../modules/form-uniqueness');

router.post('/register', redirectDashboard, async (req, res, next) => {
  const ( username } = req.body;
  
  try {
    console.log(FormUniqueness.UsernameUniqueness(userName));

  } catch (error) {
        // Internal server error 500
        console.log('here');
        error.status = 500;
        next(error);
  }
  

}

当我在“const username = await Users.findOne({ 用户名:_username });我的错误抛出尝试/捕获我的路线!”

我该怎么做?

【问题讨论】:

  • console.log(await FormUniqueness.UsernameUniqueness(userName))

标签: javascript node.js error-handling backend


【解决方案1】:

在你的函数中也捕获错误

const UsernameUniqueness = async (_username) => {

    try {
   

        const username = await Users.findOne({
            username: _username
        });

        if (username) {
            return false;
        }

        return true;

    } catch(error) {
        throw error;
    }
}

exports.UsernameUniqueness = UsernameUniqueness;

【讨论】:

    猜你喜欢
    • 2017-04-12
    • 2016-02-07
    • 2020-10-17
    • 2018-11-08
    • 1970-01-01
    • 2020-05-15
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多