Node.js,为事件分配回调函数 'data'

Node.js, assigning callback function for event 'data'

如何为事件 'data' 分配回调函数并为其提供超过 1 个标准参数? 这是我的脚本:

var http = require('http');
var server = http.createServer().listen(8080);

server.on('request', onRequest);
server.on('listening', onListening);

function onRequest(request, response)
{
    response.writeHead(200);
    request.on('data', function(){onReqData(data,res)});
    request.on('end', onReqEnd);
}

function onReqData(data, response)
{
    console.log('Request : ', data.toString());
    response.write('Write : ' + data.toString());
}

function listen()
{
    console.log('--- / Server runs on 8080 / --- ');
} 

function onReqEnd()
{
    console.log(' - - - / The end of request / - - - ');
}

我不喜欢回调函数主体位于 .on() 块中的语法。
因此,当我尝试分配这样的回调时: request.on('data', onReqData); 没有声明函数传入参数 (function onReqData(){...} ) 我有一个错误告诉我响应未定义

request.on('data', function(){onReqData(data,res)});

给我一个数据未定义的错误。

任何帮助将不胜感激 !

'data' 事件将调用您的函数传递一大块数据。您需要接受 chunk 作为函数参数并将其传递给您的 onReqData 函数。

编辑:您还需要将相同的 response 变量传递给 onReqData。

function onRequest(request, response)
{
    response.writeHead(200);
    request.on('data', function(chunk){onReqData(chunk, response)});
    request.on('end', onReqEnd);
}