0
我在我的路由器上有一个回调函数,并且运行良好,但就像我想要的不重复我的回调函数来管理一个函数中的sql错误,然后我移动到外部文件回调函数移动到外部js,不起作用
动我的回调函数到外部文件之前:
var express = require('express');
var router = express.Router();
var model= require('../models/customers');
router.get('/', function (req, res, next) {
res.header('content-type', 'application/json');
console.log('will do model.get');
model.get(function (err, rows) {
if (err) {
res.status(500).send({error: 'Something failed!'})
} else {
res.json({data: rows});
}
});
});
当有错误是正常的反应:
{
"error": "Something failed!"
}
后,我搬到通话回功能到外部文件:
./lib/dbfunctions
var dbfunctions = {
runSql: function (err, rows) {
if (err) {
res.status(500).send({error: 'Something failed!'})
}
else {
res.json({data: rows});
}
}
}
module.exports = dbfunctions ;
,然后我在文件中导出此函数
路由器JS:
var express = require('express');
var router = express.Router();
var model= require('../models/customers');
var dbfunctions = require('../libs/dbfunctions');
router.get('/:id?', function (req, res, next) {
res.header('content-type', 'application/json');
if (req.params.id) {
model.getById(req.params.id, function (err, rows) {
if (err) {
res.json(err);
}
else {
res.json({data:rows});
}
});
}
else {
console.log('will do model.get');
model.get(dbfunctions.runSql);
}
});
但现在的代码我没有工作我得到
ReferenceError: res is not defined
有人可以解释我做错了什么?
感谢工作! – stackdave