У меня есть эта функция node.js, которая возвращает Promise после выполнения одного запроса MySQL.Запуск нескольких запросов MySQL в этой функции node.js
function deletePoint(PointObj, door_id) {
return new Promise(function(resolve, reject) {
try {
var connection = jonMySQL.getMySQL_connection();
var mysql_query = '`DELETE FROM table1 WHERE user_id=? and door_id=?`';
var mysql_query_placeholder_arr = [PointObj.user_id, door_id];
connection.query(mysql_query, mysql_query_placeholder_arr, function(err, rows, fields) {
if (err) {
return reject(err);
} else {
resolve(rows);
}
});
} catch (err) {
reject(err);
}
});
} Вышеуказанная функция работает нормально. Однако, что, если я хочу, чтобы функция завершила выполнение 2 запросов MYSQL?
Второй запрос будет выглядеть примерно так:
var mysql_query2 = '`DELETE FROM table2 WHERE user_id=? and door_id=?`';
var mysql_query2_placeholder_arr = [PointObj.user_id, door_id];
Как я могу интегрировать этот второй запрос MySQL в функцию таким образом, что обещание будет возвращать только после того, как оба запроса были выполнены?
EDIT: Было бы предпочтительнее, если предоставленный ответ может обрабатывать до нескольких запросов (скажем, до 5) без обратного ад. Может ли кто-нибудь дать ответ, используя асинхронный модуль?
Вы можете написать второй запрос в обратном вызове первого и вернуть затем – abdulbarik