Nodejs Two Asynchronous Requests Return Wrong Values?

  node.js, question

Now there is a nodejs running an http service
Now a user A has sent a request A to the server. node needs to call another service to retrieve the data. At this time, it has not yet retrieved the data, waiting for the callback trigger to complete the retrieval event.
At this time, user b sent request b to the server, node called the service to retrieve the number, and then b had already retrieved the number and entered the callback, but at this time, the callback of user a had not been triggered, resulting in the request result of user b being returned to user a. Why is this?

function onRequest(req, res) {
 var postData = "";
 var pathname = url.parse(req.url).pathname;
 req.addListener("data", function(postDataChunk) {
 Postdataplus = postDataChunk;
 Log ("received postDataChunk'" plus postdatachunk plus "'.");
 req.addListener("end", function() {
 if (pathname.indexOf('/whywhy') > -1) {
 //Send request
 //Is it possible that the problem lies in once
 OtherService.once('complete',function(msg) {
 var sendData = JSON.stringify(msg.iteminfo);
 res.writeHead(200, {"Content-Type": "text/plain"});
 } else {
 Info ("requestfor" plus pathname);
 res.setHeader('Content-Type', 'text/html');
 res.writeHead(404, {'Content-Type': 'text/plain'});

Your doubt is possible, why not test it?