我不确定我尝试做什么的技术术语,这使我很难找到信息。所以我想要做的就是将已知的未来参数传递给函数,同时还需要传递一个特定的参数。
E.g。
app.post("/example", function (req, res) {
admin.retrieveMany(req, res, "list")
});
所以我将来需要的是req
res
个参数,但与此同时,我需要传递一个特定的参数,在本例中为"list"
。
有没有办法在不需要包装函数的情况下执行此操作?那么就像admin.retrieveMany(...args, "list")
?
更新
这是admin
导出的方式
module.exports.admin = {
create,
drop,
retrieveMany
}
这是汇总的创建函数:
function create(req, res, which) {
try {
var { name } = mixin.getProxy(req.body, res)
}
catch (err) {
console.log(err)
return
}
// SQL stuff
}
代理代码:
function getProxy(obj, res) {
return new Proxy(obj, { //create new Proxy object
get: function (obj, prop) { //define get trap
if (prop in obj) {
return obj[prop];
}
else {
if (res) {
res.send({
error: true,
error_message: "could not retrieve prop: " + prop,
success: false
})
}
throw new Error("Missing required key: " + prop); //throw error if prop doesn't exists
}
}
});
}
答案 0 :(得分:0)
bind
怎么样?更改retrieveMany
,使其第一个参数为list
代表的任何内容,然后
app.post("/example", admin.retrieveMany.bind(admin, "list"));