在制作Get api时显示错误消息

时间:2018-02-12 11:12:33

标签: javascript node.js express sequelize.js

我正在使用节点js和表达js框架来制作api,这是我正在编写的代码

控制器/ biz_plans.js

const getbizPlans = (req, res, next) => {

    return db.coaching_classes.findAll({})
        .then(classes => {

            if (classes && classes.length > 0) {

                return res.status(200).send(classes)


            }

            else {

                console.log('not found');
                return res.status(404).send({


                    error_message: 'no classes available',

                });
            }


        })
        .catch(next);


};

和我的routes.js是

var express = require('express');
var router = express.Router();

var db = require('../models');

var organizationsController = require('../controllers/bizPlans')

/* GET coaching_plans listing. */

router.get('/',organizationsController.getbizPlans);


module.exports = router;

如果数据库中存在Data,则此api正在运行,但是当数据库中没有数据时,它应显示我尝试显示的错误消息,但它不会在浏览器中显示任何内容。 我无法理解我所缺少的东西我已经检查了关于这个以及我找到的所有方法的各种链接,但它对我不起作用。

1 个答案:

答案 0 :(得分:0)

尝试使用catch函数返回错误?

.catch(err => {
    console.log(err);
    return res.status(404).send({
        error_message: 'no classes available'
    });
});