【发布时间】:2017-10-01 13:34:27
【问题描述】:
您好,我遇到了以下序列的问题,我需要运行多个查询,这些查询彼此建立在一个 for 循环中,然后一旦获得最终结果来实现结果。我遇到了一个问题,我的 for 循环正在循环通过查询,我还需要在 findX 函数运行时停止代码。
我知道这是一个异步问题,但我不知道如何链接 Promise,或者使用 async npm 包需要循环依赖于前一个查询结果的查询。提前致谢。
function findX(){
//executes another query
}
function solve(res, connection, info, requestArr, callback){
var parentID = null;
var obj = {};
for (var i = 0; i <= requestArr.length; i++) {
connection.query("SELECT WHERE ", [parentID, requestArr[i]], function(err, results) {
if(results[0]['x']){
var obj = findX(x)
break;
}else{
parentID = results[0]['parentID'];
}
});
}
//Do stuff with obj only after the final result has been set in the for loop
}
【问题讨论】:
-
查看
async/seriescaolan.github.io/async/docs.html#series
标签: node.js asynchronous promise synchronization async.js