Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 异步每个序列不显示正确的结果,显示数组的一个元素而不是所有元素_Javascript_Node.js_Async.js - Fatal编程技术网

Javascript 异步每个序列不显示正确的结果,显示数组的一个元素而不是所有元素

Javascript 异步每个序列不显示正确的结果,显示数组的一个元素而不是所有元素,javascript,node.js,async.js,Javascript,Node.js,Async.js,我是Nodejs的新手,使用async.eachSeries迭代数组,当数组有四个元素时,它在最终响应中只显示一个元素,并且还向数组添加了一个名为“payment type”的新变量,它也没有赋值。 我想将数组中的所有元素显示为最终输出。下面是代码,这种方法正确吗?我还看到,它首先在console.log中显示所有元素,但在postman中只显示一个数据。如何解决此问题,在async.eachSeries完成后将所有数组发送给postman 代码: 实际产量: { "message":

我是Nodejs的新手,使用async.eachSeries迭代数组,当数组有四个元素时,它在最终响应中只显示一个元素,并且还向数组添加了一个名为“payment type”的新变量,它也没有赋值。
我想将数组中的所有元素显示为最终输出。下面是代码,这种方法正确吗?我还看到,它首先在console.log中显示所有元素,但在postman中只显示一个数据。如何解决此问题,在async.eachSeries完成后将所有数组发送给postman

代码:

实际产量:

{
    "message": [
        {
             "firstName": “Abc”,
            "lastName": "xyzzy”,
       “age”:24
        }
    ]
}
预期产出:

{
    "message": [
        {
            "firstName": “Abc”,
            "lastName": “xyzzy”,
        “age”:24,
“payment_type”:”Online”
        },
{
            "firstName": “def”,
            "lastName": “pmo”,
“age”:23,
“payment_type”:”Online”

        },
{
            "firstName": “per”,
            "lastName": “abc”,
      “age”:23,
“payment_type”:”Online”

        }
    ]
}
尝试以下操作:

  let members=[];
 Utils.async.each(response,(rowTrainers, callback) => {
    var result=JSON.parse(JSON.stringify(rowTrainers));
                rowTrainers.dataValues.payment_type =  "Cashfree";
                    members.push(rowTrainers);
                    callback();
                    } ,err=>{
                    if(err){
                        console.error("Error: ", err);
                        cb(err, []); 
                    }else{              
                    Utils.sendResponse(1, members , "success", q)

                    }
                });

感谢您的快速回复,它可以正常工作,但不能在else循环中打印。如果您在err block之前打印,它将显示数据。@Nits6029代码中有一些语法错误。我已经编辑了代码。检查它是否工作??请参见
ending@Nits6029else块中打印的是什么???@Subburaj。它不会打印else块。只需在console中打印hello world。日志不会显示。@Nits6029它将进入错误块,所以打印并查看错误并解决它。如果问题解决了,也要接受答案
  let members=[];
 Utils.async.each(response,(rowTrainers, callback) => {
    var result=JSON.parse(JSON.stringify(rowTrainers));
                rowTrainers.dataValues.payment_type =  "Cashfree";
                    members.push(rowTrainers);
                    callback();
                    } ,err=>{
                    if(err){
                        console.error("Error: ", err);
                        cb(err, []); 
                    }else{              
                    Utils.sendResponse(1, members , "success", q)

                    }
                });