<分区>
什么是最好的(性能、内存方面)来实现创建类的干净方法或正确构建代码的某种方法,共享 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。客户端.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...
});
});