2017-10-05 63 views

回答

2

我不知道这样做的官方方式是什么,但有几件事似乎工作。

如果您还没有绑定回调到另一个this值,那么它将是该请求,例如:

request.get(options, function() { 
    console.log(this.getHeader('... header name ...')); 
    console.log(this.headers); 
}); 

你也可以使用response.request访问请求:

request.get(options, function(err, response) { 
    console.log(response.request.getHeader('... header name ...')); 
    console.log(response.request.headers); 
}); 

那第二种方法应该可以在任何可以访问响应的地方工作。

我认为这是相关行的源代码:

https://github.com/request/request/blob/253c5e507ddb95dd88622087b6387655bd0ff935/request.js#L940

https://github.com/request/request/blob/253c5e507ddb95dd88622087b6387655bd0ff935/request.js#L1314