【发布时间】:2017-07-07 09:32:18
【问题描述】:
我在节点中使用异步模块瀑布方法进行 sql 查询。我将如何使用回调将两组数据发送到下一个函数。与将 qryUpdateCheck 和 qryCheckDbl 传递给下一个的第一个函数一样。这将如何正确完成。
async.waterfall([
function (callback) {
var requestUpdateCheck = new sql.Request([config]);
requestUpdateCheck.query("Some qryUpdateCheck", function (err, qryUpdateCheck) {
console.log('qryUpdateCheck', qryUpdateCheck);
});
var requestCheckDbl = new sql.Request([config]);
requestCheckDbl.query("Some qryRequestCheckDbl", function (err, recordset) {
console.log('qryCheckDbl', qryCheckDbl);
});
callback(null, qryUpdateCheck, qryCheckDbl);
},
function (qryUpdateCheck, qryCheckDbl, callback) {
console.log('hi from second from qryUpdateCheck', qryUpdateCheck);
console.log('hi from second from qryCheckDbl', qryCheckDbl);
if ((qryUpdateCheck.length == 1) && (qryCheckDbl.length == 0)) {
var requestUpdateLocID = new sql.Request([config]);
requestUpdateLocID.query("Last qryUodateLocID", function (err, recordset) {
console.log('qryUpdateLocID', recordset);
callback(null, recordset);
});
} else if ((qryUpdateCheck.length == 0) && (qryCheckDbl.length == 0)) {
var requestUpdateLocID = new sql.Request([config]);
requestUpdateLocID.query("Insert qry", function (err, recordset) {
console.log('qryUpdateLocID', recordset);
callback(null, recordset);
});
}
}
], function (err, result) {
// result now equals 'done'
console.log('done', result);
});
【问题讨论】:
-
欢迎来到 StackOverflow!请花时间阅读有关如何回答问题的指南here。
-
@ABusyProgrammer 这个问题很好。
标签: node.js express asynchronous callback async.js