【问题标题】:How to call subsequent callbacks in loop?如何在循环中调用后续回调?
【发布时间】:2018-06-07 04:10:26
【问题描述】:

在我的 Nodejs 应用程序中,我需要通过一些查询从数据库中选择一组数据。开始时未定义大量查询,我需要在每个数据库查询后检查是否需要进行另一个查询。所以这样的过程

var total_result = [];
var n = 0;
db.query('.....query...', function(result, error){
    // Callback with db data response
    total_results.push(...result...);
    n += result.length;

    if (n < req_n) {
        // ... Here is the code to repeat the same query ...
        // ?????
    }
});

谢谢。

【问题讨论】:

    标签: node.js loops for-loop foreach callback


    【解决方案1】:
    var total_result = [],
        n            = 0
    
    while(await query())
    
    async function query() {
      return new Promise((resolve, reject) => {
    
        db.query('...query...', (result, error) => {
          if(error) reject(error)
          // Callback with db data response
          total_results.push(...result...)
          n += result.length
    
          if (n < req_n) resolve(true)
          else resolve(false)
       })
      })
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 2022-01-25
      相关资源
      最近更新 更多