我很困惑' parser = this'是的,因为我无法找到关于这个功能的呼唤,所以'这个'在这个原生代码中意味着什么?
这是github:https://github.com/nodejs/node/blob/v0.12/lib/_http_common.js
的链接答案 0 :(得分:0)
The value of this
取决于函数的调用方式。 It appears that it is supposed to be called as a method of an HTTPParser
instance:
var parsers = new FreeList('parsers', 1000, function() {
var parser = new HTTPParser(HTTPParser.REQUEST);
// ^^^ parser object is created
parser._headers = [];
parser._url = '';
parser[kOnHeaders] = parserOnHeaders;
parser[kOnHeadersComplete] = parserOnHeadersComplete;
parser[kOnBody] = parserOnBody;
parser[kOnMessageComplete] = parserOnMessageComplete;
// ^^^ function is assigned to parser instance
return parser;
});
因此,我们可以假设this
很可能会引用HTTPParser
的实例。
答案 1 :(得分:0)
这是因为parser
具有异步调用代码的范围。
答案 2 :(得分:0)
我找到了基本的c语言,当你输入httpParse空闲列表时,这些语言就会被调用 enter image description here 这是github的地址:https://github.com/joyent/http-parser