【发布时间】:2016-05-07 21:00:12
【问题描述】:
var http = require('http');
var map = require('through2-map');
uc = map(function(ch) {
return ch.toString().toUpperCase();
});
server = http.createServer(function(request, response) {
request.on('data',function(chunk){
if (request.method == 'POST') {
//change the data from request to uppercase letters and
//pipe to response.
}
});
});
server.listen(8000);
我对上面的代码有两个问题。首先,我阅读了request的文档,它说request是IncomingMessage的一个实例,它实现了Readable Stream。但是,我在 Stream 文档中找不到 .on 方法。所以我不知道 request.on 中的回调函数中的哪个块。其次,我想对请求中的数据进行一些操作,并将其传递给响应。我应该从块还是从请求中管道?感谢您的考虑!
【问题讨论】:
-
关于
However, I couldn't find .on method in the Stream documentation.这是因为Stream实现了EventEmitter(文档说All streams are EventEmitters)。您必须在nodejs.org/api/events.html 上查看此特定方法。否则我没有清楚地理解你的问题。基本上,您应该将请求流通过管道传输到响应流中。流由从一端写入另一端的数据块组成。 -
块是流吗?此外,每当有人向该服务器发送请求时,整个事情都会变成一个块吗?如果两个人发送两个请求,那会是两个块吗?