我对以下代码有疑问: 我需要确认所有在proxyRes事件中完成的处理 将以异步方式完成,其中的所有处理时间都不会影响 代理时间。
提前感谢您的帮助
var server = http.createServer(function (req, res) {
console.time();
var proxy = httpProxy.createProxyServer();
proxy.web(req, res, {
target: 'https://gdev.sserver.be/api/host1/account',
});
console.timeEnd();
proxy.on('proxyRes', function (proxyRes, req, res) {
//console.log('RAW Response from the target', JSON.stringify(proxyRes.headers, true, 2));
proxyRes.on('data', function (chunk) {
console.log('resp => ' + chunk);
connection.query('INSERT INTO test SET ?', {content: chunk}, function(err, result) {
if (err) throw err;
console.log('writing in db');
});
});
proxy.close();
proxy = null;
});
}).listen(3000);
答案 0 :(得分:0)
是的,proxyRes处理程序的内容似乎是异步的。代理将在数据库查询仍在执行其需要的操作时发生,因此您不会影响代理时间。