我正在努力将此循环更改为异步nodejs

时间:2019-06-28 05:40:22

标签: node.js loops promise async-await

  • 循环-
    1. 从mysql获取一些数据
    2. 将数据插入特定数组(在i的索引处)

但是,正如您所知,“ i”的增加比我预期的要早得多。 我知道这与nodejs的同步/异步问题有关。 我想将其更改为同步功能,但这太令人困惑了,可能是因为这是我第一次...

...
dbconn.pool.getConnection(function (err, conn) {

...

    for (var i = 0; i < search_result.length; i++) {
        console.log("1, i here : "+i)
        conn.query(sql_getId_and_count, [search_result[i].address], function (err, result) {

              console.log("2.i here:" + i)
              if (err) console.error(err)
              else {
                   console.log("here : " + result[0].counter)
              }
        })
    }
})

1 个答案:

答案 0 :(得分:0)

您可以使用while循环。 请注意,node.js不会中断while循环。

您还可以使用process.nextTick(),并在其中编写实现。 例如:process.nextTick(function(){})