gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 10:31:26 27 4
gpt4 key购买 nike

如何为事件“数据”分配回调函数并为其提供多于 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() block 中的语法。
所以当我尝试分配这样的回调时:request.on('data', onReqData); 无需声明函数传入参数 (function onReqData(){...} )我有一个错误告诉我响应未定义

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

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

任何帮助将不胜感激 !

最佳答案

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

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

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

关于javascript - Node.js,为事件 'data' 分配回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29198641/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com