出色地,
我对 node.js 完全陌生。开始尝试它,我正在关注 Ryan Dahl ( http://www.youtube.com/watch?v=jo_B4LTHi3I ) 的介绍,此时(大约 0:17:00)有一个关于如何服务器的解释处理响应,
基本示例是从网络服务器获得“hello”输出,然后在 2 秒后出现“世界”,这段代码应该这样做
//Require the webserver library
var http = require('http');
var server = http.createServer(function(req, res) {
res.writeHead(200, { 'content-type' : 'text-plain' });
res.write('Hello\n');
//Asynchronous behavior
setTimeout(function() {
res.end('World\n');
}, 2000);
});
server.listen(3000);
所以我运行它,我得到了 Hello World,但只有一个来自服务器的完整结果响应,即 request > 2 sec > 'Hello World'。而不是请求 > Hello > 2 secs > World。
为什么会这样?,我该如何改变这种行为?
我正在使用 v0.8.18, curl -ihttp://localhost:3000
返回正确的标题...
HTTP/1.1 200 OK
content-type: text-plain
Date: Sat, 26 Jan 2013 18:10:05 GMT
Connection: keep-alive
Transfer-Encoding: chunked