Я использую метод водопада асинхронного модуля для запроса 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! Пожалуйста, найдите время, чтобы прочитать руководство о том, как ответить на вопрос [здесь] (http://stackoverflow.com/help/mcve). –
@ABusyProgrammer вопрос в порядке. – peteb