首页 > 解决方案 > Node JS 嵌套查询中的执行顺序

问题描述

以下代码的输出是:

OuterQuery
OuterQuery
InnerQuery
InnerQuery
InnerQuery

我希望输出是

OuterQueryInnerQueryInnerQueryOuterQueryInnerQuery.

为什么它首先在 Node JS 中执行所有外部块?有什么建议可以让它按顺序执行吗?

var new1 = function () {
  connection.query("select ID from tbl1", function (error, result, fields) {
    for (var id in result) {
      console.log("Outer Query");
      connection.query("select name from tbl2 where ID = '" + result[id].ID + "' ", function (err, result, fields) {
        if (err) throw err
        for (var count in result) {
          console.log("Inner Query");
        }
      })
    }
  })
}
export.new1 = new1;

谢谢。

标签: javascriptnode.jsasynchronous

解决方案


推荐阅读