我只是尝试使用nodejs的http模块进行一些简单的测试。
简单地说,我试图通过服务器发送所有响应内容并检查长度。
var http = require('http');
http.get(process.argv[2], function(response) {
var dataString = "";
response.on('data', function(data) {
dataString += data.toString();
});
response.on('end', function(){
console.log(dataString.length);
console.log(dataString);
});
});
我的问题是我没有在nodejs的文档中找到有关响应事件的信息(比如'data','end';我在某些论坛上发现了它们。)
我错过了什么吗?我应该知道那些吗?我应该在哪里寻找完整的nodejs和模块API?
答案 0 :(得分:1)
您可以找到最新稳定版节点here的文档。
对于您的特定情况,http.get()
/ http.request()
会返回ClientRequest
个对象。当服务器响应时,此对象会发出response
事件(您传递给http.get()
/ http.request()
的回调是添加response
事件处理程序的快捷方式。传递给response
事件处理程序的参数类型为IncomingMessage
。 IncomingMessage
是Readable stream,特别是来自“数据”和“结束”事件的地方。
答案 1 :(得分:1)
文档:http://nodejs.org/api/http.html#http_http_incomingmessage
IncomingMessage对象由http.Server或http.ClientRequest创建,并作为第一个参数传递给'请求'并且'回应'事件分别。它可用于访问响应状态,标头和数据。
它实现了Readable Stream接口,以及以下附加事件,方法和属性
这意味着数据的事件和不属于ReadableStream的部分,可在此处找到:http://nodejs.org/api/stream.html#stream_class_stream_readable其他事件在http.IncomingMessage文档中列出。