node.js如何处理多个请求?

我有一个node.js代码,它基本上监听来自网页的不同请求的UDP套接字,并调用一个函数来查询DynamoDB,并将结果发送回适当的调用网页(根据远程IP和端口来标识每个请求)。

代码如下所示:

function qryDynamoDB(qry_condition, remoteIP, remotePort) { var qryParams = { TableName: "customer1", KeyConditionExpression: "qry_condition", }; docClient.query(qryParams, function (err, data) { if (err) { console.log(err); } else { var qry = JSON.stringify(data); server.send(qry, 0, qry.length, remotePort, remoteIP, function (err, bytes) { if (err) { throw err; } }); } }); } // UDP Server starts server.on('listening', function () { var address = server.address(); console.log('UDP Server listening on ' + address.address + ":" + address.port); }); server.on('message', function (message, remote) { // do a query qryDynamoDB('qry_condition', remote.address, remote.port); }); 

我的问题是这个代码在多个(几乎)同时请求方面是安全的。 例如,我想知道Request#1到达,代码执行查询,然后Request#2也到达,代码发送第二个查询。 但是,如果由于某种原因,最后一个查询先完成(例如, qry 1qry 2更复杂),那么这个结果是否会被发送回正确的远程IP和端口(来自发送Request#2的网页)第一个?

我不知道node.js的内部结构,以及它如何处理这个,所以我害怕发生这种情况,然后把结果混合起来。

任何澄清,我将不胜感激。