mysql - 如何在 Node/Express 中为数组的每次迭代发送 Post 请求?

标签 mysql node.js express

我有一些原始 json,我正在尝试将其发送到 mysql 中的后端服务器。我目前正在尝试循环遍历我需要的 json 中的特定数组,并通过 POST 请求从数组中的每个子项发送数据,但我收到“在将 header 发送到客户端后无法设置 header ”。

app.post('/reddit-import', function (req, res) {
     console.log("Route /reddit-import POST");
     let data = req.body.data.children

     data.forEach(child => {

         let sql1 = `CALL insert_user('${child.data.author}', 
              '${child.data.author_fullname}');`
         connection.query(sql1, 
            data, 
            function (errQuery, result) {
               if (errQuery) {
                  console.log(errQuery);
                  res.json({status: "Error", err: errQuery});
                  res.end();
               } else {
                  console.log("Insert ID: ", result.insertId);
                  res.json({status: result.insertId, err: ""});
                  res.end();
               }
            }
         );

当我发送 POST 请求时,我的后端在向我发送错误消息之前获取了 2 行数据...有什么想法吗?

最佳答案

您似乎在 data.forEach 中使用 res.end() 结束外部响应,我假设它用于指示对客户端的外部 HTTP 请求的结束。您可能想在那里使用“结果”吗?

关于mysql - 如何在 Node/Express 中为数组的每次迭代发送 Post 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59124433/

相关文章:

javascript - 我该如何修复 "app.use() requires a middleware function"

javascript - 如何防止用户输入错误时出现 'UnhandledPromiseRejection'?

java - 我应该如何设计一个 wordpress 后端 + react + java 前端应用程序?

mysql - 服务器时区值 'KST' 无法识别 : How to fix server-side?

php - 如何从 mysql db php 中选择

mysql - 如何使用codeigniter将json插入mysql数据库

node.js - 我无法从我的 REACT 应用程序的 azure 应用程序服务配置中读取环境变量

MySQL PDO - 检查是否插入了 INSERT IGNORE INTO

AngularJS $http 请求在 Node JS Express 中未检测为 xhr

node.js - 如何提高 Mongoose/MongoDB 创建和更新大量条目的性能