簡體   English   中英

Node.js,為事件“數據”分配回調函數

[英]Node.js, assigning callback function for event '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)});

給我一個錯誤,即數據未定義。

任何幫助將不勝感激 !

“數據”事件將調用您的函數傳遞大量數據。 您需要接受作為函數參數,並將其傳遞給onReqData函數。

編輯:您還需要將相同的響應變量傳遞給onReqData。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM