javascript - 无法在 res.json 中获得响应

标签 javascript node.js express

我试图在 sql 模块中调用 sql 模块,并将第二级模块插入第一级模块数组,以便我可以获得结果。 但是我在输出中得到了空数组。

router.post('/mymsg', function(req, res, next) {
      var rootmsgid = req.body.rootmsgid;
      var request = new sql.Request()
        .input('rootmsgid', sql.Int, rootmsgid)

        .execute('sp_mymsg')
        .then(function(val) {
          var x = val.recordsets[0]
          var z = [];
          var y  = [];
          for (var i = 0; i < x.length; i++) {

            var t1 = parseInt(x[i].msg_id)
            var t2 = parseInt(x[i].sender_id)
            var t3 = x[i].timestamp
            var t4 = x[i].recipient
            var t5 = x[i].subject
            var t6 = x[i].body


         var request = new sql.Request()
        .input('msgid', sql.Int, t1)

        .execute('filenamex')
        .then(function( val) {
         y =  val.recordsets[0];
         z.push({
                  "msg_id": t1,
                  "sender_id": t2,
                  "timestamp": t3,
                  "recipient": t4,
                  "subject": t5,
                  "body": t6,

                  "filename": y
                })

    console.log(z)

        })


     }
      res.json(z)

        })
        .catch(function(err) {
          console.log(err);
          res.json({
            msg: "Invalid Input",
            success: false
          });
          res.end();
        });
    });

我试图在 sql 模块中调用 sql 模块,并将第二级模块插入第一级模块数组,以便我可以获得结果。 但是我在输出中得到了空数组。

最佳答案

欢迎使用异步编程:)

您的 res.json(z) 在 for 循环结束之前执行。 那就是你得到一个空数组。 使用async模块或者使用async/await来解析。

关于javascript - 无法在 res.json 中获得响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56131359/

相关文章:

node.js - Mongoose 查询具有不同值的相同字段

javascript - 使用 express bodyParser 后 request.body undefined

将 X 个月添加到日期的 JavaScript 函数

javascript - 代码重构后对象为空

node.js - 是否有任何快速工具可以在不删除 JavaScript 源代码注释的情况下执行常量替换?

module - NodeJS - 使用远程模块?

node.js - Promise 对象在 React Native 项目中不起作用

javascript - Express.js - 管理所有路线的单一路线文件

javascript - 使用 RaphaelJS 嵌入 SVG

javascript - 如何使用 axios nuxt 模块进行基本身份验证