Jquery Node.js与async.eachSeries一起出现问题。如何设置回调函数为arrayOfQueryData的每个元素返回json文件?

Jquery Node.js与async.eachSeries一起出现问题。如何设置回调函数为arrayOfQueryData的每个元素返回json文件?,jquery,json,node.js,asynchronous,Jquery,Json,Node.js,Asynchronous,这就是我要做的:我使用async.eachSeries多次调用一个函数,该函数返回数组点进行格式化。每次调用该函数时,我都会格式化数组点的格式,并将结果放入数组点的格式中。我想返回格式为json文件的数组点。由于函数的多次调用,这意味着存在多个json文件。我为回调函数编写了一些代码,但它不能正确地与async.eachSeries一起工作。有什么建议吗 http.createServer(function(req, res) { console.log('Receving request...

这就是我要做的:我使用async.eachSeries多次调用一个函数,该函数返回数组点进行格式化。每次调用该函数时,我都会格式化数组点的格式,并将结果放入数组点的格式中。我想返回格式为json文件的数组点。由于函数的多次调用,这意味着存在多个json文件。我为回调函数编写了一些代码,但它不能正确地与async.eachSeries一起工作。有什么建议吗

http.createServer(function(req, res) {
console.log('Receving request...');

    var callback = function(err, result) {
      res.setHeader('Content-disposition', 'attachment; filename=nameForJsonFile.json');
      res.writeHead(200, {
        'Content-Type' : 'text/json'
    });
      console.log('json:', result);
      res.end(result);  
    };  

async.eachSeries(arrayOfQueryData, function(queryData, callback) {
console.log("Query data: " + queryData);    

var mysql = require('mysql');
var connection = mysql.createConnection({
    host : 'localhost',
    user : 'xxxx',
    password : 'xxxx',
    database : 'xxxx',
    port: 3306
}); 

connection.connect();
var json = '';
var data = queryData + '%';
var query = 'SELECT LNG, LAT FROM table WHERE postcode LIKE "' + data;
connection.query(query, function(err, results, fields) {
    if (err)
        return callback(err, null);

        if(results.length > 0)
        {               
            var arrayOfPoints = new Array();
            for(var i=0; i<results.length; i++)
            {
                arrayOfPoints[i] = new Array();
                arrayOfPoints[i][0] = results[i].LNG;
                arrayOfPoints[i][1] = results[i].LAT;           
            }


            //do something with points and get result in array named for example, 
            //pointsForFormating

            var pointsFormated = new Array();
            for(var i=0; i<hullPoints.length; i++)
            {
                pointsFormated[i] = {lng: pointsForFormating[i][0], lat:pointsForFormating[i][1]};
            }

            json = JSON.stringify(pointsFormated);


            connection.end();
            console.log('JSON-result:\n', json);

            callback(null, json);
        }
        else 
        {
            console.log("No results for: \n" + queryData + "\n");
            connection.end();
            callback(null, json);
        }
    })
  });

 }
 ).listen(9999);

 console.log("Server started @ localhost:9999");
http.createServer(函数(req,res){
log('receiving request…');
var callback=函数(错误、结果){
res.setHeader('Content-disposition','attachment;filename=nameForJsonFile.json');
文书标题(200{
“内容类型”:“text/json”
});
log('json:',result);
目的(结果);
};  
eachSeries(arrayOfQueryData,函数(queryData,回调){
log(“查询数据:+queryData”);
var mysql=require('mysql');
var connection=mysql.createConnection({
主机:“localhost”,
用户:“xxxx”,
密码:“xxxx”,
数据库:“xxxx”,
港口:3306
}); 
connection.connect();
var json=“”;
var数据=queryData+'%';
var query='从邮政编码为“'+数据的表中选择LNG,LAT;
查询(查询、函数(错误、结果、字段){
如果(错误)
返回回调(err,null);
如果(results.length>0)
{               
var arrayOfPoints=新数组();

对于(var i=0;i
eachSeries(arr,迭代器,回调)
您没有回调

您尝试过吗?:res.status(200).json(object);eachSeries(arr,迭代器,回调)您没有回拨是的,缺少回拨是个问题。谢谢。我为用户添加了一个响应。尽管这回答了问题,但您应该在OP的代码中添加必要的更改,使您的回答更具可读性。