我正在使用express和request将网站的html变成json,然后返回它。例如:
app.get('/live', function(req,_res){
res = _res;
options.url = 'http://targetsite.com';
request(options,parseLive);
});
function parseLive(err, resp, html) {
var ret = {status:'ok'};
-- error checking and parsing of html --
res.send(ret);
}
目前我正在使用全局var res来跟踪返回调用,但是当同时发出多个请求时,这会失败。所以,我需要一些方法来匹配来自快递的回复呼叫到请求中的回调。
我该怎么做?
答案 0 :(得分:1)
使用闭包。
将变量传递给函数。从该函数返回要传递给request
的函数。
app.get('/live', function(req,_res){
options.url = 'http://targetsite.com';
request(options,parseLiveFactory(res));
});
function parseLiveFactory(res) {
function parseLive(err, resp, html) {
var ret = {status:'ok'};
-- error checking and parsing of html --
res.send(ret);
}
return parseLive;
}