【发布时间】:2020-04-05 07:47:40
【问题描述】:
在 Sail.js(和节点)中弄脏我的手。
版本
$ sails --version
1.2.4
$ node --version
v12.16.1
我的第一个帆控制器(一个例子)如下:
// MyController
// MyController.js
module.exports = {
sum_it: function (a, b) {
return (a + b);
},
minus_it: function (a, b) {
return (a - b);
},
process_it: function (req, res) {
let i = 12;
let j = 4;
do_what = "sum"; //this will be an input extracted from req
if (do_what == "sum") {
let result = this.sum_it(i, j); //"this" doesn't work????
} else {
let result = this.minus_it(i, j); //"this" doesn't work????
}
console.log(result);
return res.send(result);
}
};
我的意图是在该控制器本身内定义一些函数,因为它们只能在该控制器下使用。我用了this.sum_it(i, j)this.minus_it(i, j),两个都不行。
在控制器中拥有多个函数并在该控制器文件中调用它们的最佳方法是什么(假设这些函数对于该控制器来说过于特定,因此无需将它们取出并放入其他帮助文件中)?
【问题讨论】:
-
如果它们是特定于控制器的,则无需将它们公开。只需将它们移出
module.exports并在没有范围的情况下调用它们,例如sum_it(i, j).
标签: javascript node.js ecmascript-6 sails.js