JavaScript/如何在node.js中创建新对象?
我使用JavaScript/如何在node.js中创建新对象?,javascript,node.js,Javascript,Node.js,我使用express,在node.js中有以下代码: app.post('/printUp', function(req, res) { var multipl = new require('./multUploud').printNum(req, res); }) 我的multuplound.js中有以下内容: var partNum = 0; module.exports = { printNum: function (req, res){ partNum
express
,在node.js
中有以下代码:
app.post('/printUp', function(req, res) {
var multipl = new require('./multUploud').printNum(req, res);
})
我的multuplound.js中有以下内容:
var partNum = 0;
module.exports = {
printNum: function (req, res){
partNum ++;
console.log(partNum);
}
}
如果我发送了两个post命令,我会看到第一次迭代中的partNum
是1,第二次迭代中是2
是否有任何选项可以为每个app.post请求创建一个新实例,以便打印1和1?只需将
partNum
作为对象的属性即可。您的multuploy.js
应该是这样的:
module.exports = MultiUpload;
function MultiUpload() {
this.partNum = 0;
}
MultiUpload.prototype.printNum = function (req, res) {
this.partNum++;
console.log(this.partNum);
}
然后,在您的特快专递中:
app.post('/printUp', function(req, res) {
var MultiUpload = require('./multUploud');
var multipl = new MultiUpload();
multipl.printNum(req, res);
})
new
在那里做什么?对该方法的调用是相同的?是的,其他所有内容都是相同的。它为该对象写入了没有方法printNum噢,缺少一对大括号:var multiple=new require('./multuploy')()。printNum(req,res)代码>。我用更简洁的代码更新了答案。