У меня есть несколько запросов модуля Node-mssql для mssql-database внутри асинхронной функции в Javascript ...
Каков наилучший способ, как правило, дождаться результатов и проверить, все ли они пройдены?
Запросы вроде бы принадлежат друг другу, поэтому они должны проходить все вместе, или если один из них неудачен, то все терпят неудачу.
let result1 = await requestObject.query(someQuery);
let result2 = await requestObject.query(otherQuery);
Обычно я использую предложение .then (). Catch,
.then((result) => res.status(200).send(result)).catch(err => res.status(404).send(err));
но я хочу избежать этого, потому что у меня есть 2 запроса, и я могу использовать его только в своем последнем запросе, потому что после отправки ответа я не могу отправить другой ответ.
Каков наилучший способ проверить, был ли статус возврата обоих моих запросов в порядке или произошла ошибка? потому что они выполняются синхронно в указанном порядке.
Я думаю, что мои подходы были бы:
- Я мог бы проверить result1 и result2 для некоторого кода состояния или если они не пусты (в зависимости от моего запроса?)
- Я бы сделал цепочку обещаний .then (), где я выполняю свой второй запрос внутри блока .then () - первого полученного запроса, а в конце я делаю .catch (), поэтому он должен автоматически перехватывать все ошибки, которые произошли во время любого запроса, верно?