什么是最好的(性能,内存方面),以实现一种干净的方式来创建一个类或以某种方式正确地构造代码,共享 2 个变量(req,res),它们具有合适的对象大小。
是的,对于那些使用 Node.js 的人来说,它是 req 和 res 变量,但这无关紧要。
这是我到目前为止所尝试的:
function Client(req, res){
var self = this;
self.req = req;
self.res = res;
route.call(self);
handleRoute.call(self);
handleRequestData.call(self);
}
function route(){
var self = this;
self.req.route = // ...
}
function handleAuth(){
var self = this;
self.req.auth = // ...
}
function handleRequestData(){
var self = this;
self.req.data = // ...
}
我想知道它是否可以改进,因为我提到 req 和 res 是具有方法、属性的相当不错的对象。由于 .call(self) 您通过实例,这会是最有效的方法吗?
我也不喜欢使用“var self = this;” 一直以来,它都是无用的。
顺便说一句,我不想使用 Coffeescript。
解决方案1.(由于大量通过req和res而失败)
假设我们到了文件1.client.js
var Client = {
route: function(req, res){},
auth: function(req, res, callback){ callback(req, res); },
getData: function(req, res, callback){ callback(req, res); } // async
}
文件2. main.js
var client = require('./client.js');
client.route(req, res); // fine because this is syncronous.
// This is where the problem is, massive passing through req and res parameters.
client.auth(req, res, function(req, res){
client.getData(req, res, function(req, res){
// Do something...
});
});