【发布时间】:2015-03-20 14:35:36
【问题描述】:
我用于路由构建的每个 HTTP 请求方法都有对应的四种方法。
每种方法的方案是:
RouteBuilder.prototype.>>METHOD<< = function (params, callback) {
if(typeof params === "function") {
callback = params;
router.>>METHOD<<(this._path, callback);
return;
}
var subRoute = params.subRoute || "";
var url = this._path + subRoute;
if(params.auth !== undefined) {
router.>>METHOD<<(url, Auth.authenticate(params.auth, { session: false }), callback);
} else {
router.>>METHOD<<(url, callback);
}
};
您可能怀疑这些方法的名称是:get、post、put 和 delete。 目前我有四个几乎相同的方法定义,我正在寻找更优雅的方法。
我考虑过使用关键参数创建一个带有方法名称的数组并将方法映射到它,但是在循环中创建函数似乎不是一个好主意。我还需要这些方法与 JSDoc 兼容。
【问题讨论】:
-
是的,如果你想创建很多类似的函数,循环创建它们。这没有什么问题!
标签: javascript function oop optimization