我有一些代码重复,我想分解。
app.post('/login', (req, res) =>{
reqOptions = {...};
request(reqOptions, (error, response, body) => {
if (!error) {
res.statusCode = response.statusCode;
res.json(body)
}
else {
res.statusCode = 503;
res.json(body)
}
});
});
request
回调中的逻辑始终是相同的,我试图找到一种方法将其转换为可重用的函数,如下所示:
function requestCallback(error, reponse, body) {
....
}
app.post('/login', (req, res) =>{
reqOptions = {...};
request(reqOptions, requestCallback);
});
我的问题是:如何在req
功能中访问res
和requestCallback()
?我是否需要将所有内容作为参数传递?
很多thx
答案 0 :(得分:1)
您可以使用Function.prototype.bind()
function requestCallback(_req, _res, error, reponse, body) {
....
}
request(reqOptions, requestCallback.bind(null, req, res));
答案 1 :(得分:-1)
是的,您只需将req和res作为参数传递给requestCallback()
即可