aUtil.js
module.exports = {
successTrue: function(data) {
return { data: data, success: true };
},
isLoggedin: async (req, res) {
//decoded token in req header
//if decoded token success,
res.json(this.successTrue(req.decoded));
}
}
该函数在test.js中调用
router.get('/check', aUtil.isLoggedin, async (req, res) => { ... })
我想在该功能中使用上面的功能。
但是我总是出错。
ReferenceError: successTrue is not defined
我尝试了很多方法。
'res.json(successTrue( ... )'
答案 0 :(得分:3)
使用['Class' => ..., 'id' => ...]
:
this
您正在导出对象,因此module.exports = {
successTrue: function() {
return { foo: 'bar' }
},
isLoggedin: function() {
console.log(this.successTrue())
}
}
指向自身。
如果您将this
用作中间件,请确保将其绑定,例如:
aUtils
答案 1 :(得分:2)
尝试一下:
const aUtil = {
successTrue: function() { //return json obj },
isLoggedin: function() {
res.json(aUtil.successTrue( ... ));
}
}
module.exports = aUtil;