【发布时间】:2019-02-09 09:31:32
【问题描述】:
我是 Node js 的新手。我的应用程序使用了 express 和 sequelize。
这是我的路由器功能。
router.post('/add-merchant', [
check('name').not().isEmpty(),
check('city').not().isEmpty(),
check('state').not().isEmpty(),
check('country').not().isEmpty(),
], (req, res, next) => {
try {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.json({ errors: errors.array()});
}
var merchant = merchantService.addMerchant(req);
return res.json(merchant)
} catch (error) {
return res.json({"status": "error", "message": error.message})
}
});
我已经创建了一个名为 MercerService.js 的文件
我已经添加了用于在 MercerService.js 中插入数据的代码并尝试过这样
var merchant = merchantService.addMerchant(req);
但我无法从商家服务中获取任何数据。这是我的商家服务代码
var models = require("../models");
var merchantService = {
addMerchant: (req) => {
models.merchants.create(req.body).then((merchant) => {
return merchant.dataValues
});
}
}
module.exports = merchantService;
我找不到问题。请帮助任何人解决此问题。
提前致谢
【问题讨论】:
-
简单地说
merchantService.addMerchant函数是对DB的异步调用,这意味着你不能使用return语句来返回数据。您需要使用回调或承诺。
标签: node.js express sequelize.js