Как мне дождаться, пока асинхронный c ответ не будет содержать требуемых данных, прежде чем продолжить?
У меня есть несколько асинхронных c функций, которые применяют скидку и получают заказ, который ДОЛЖЕН содержать заказ с применяется скидка. Проблема в том, что иногда применяется скидка и при вызове заказа скидка не содержится в ответе. (Я предполагаю, что скидка отразится на заказе через несколько секунд). Как лучше всего убедиться, что требуемые данные присутствуют, прежде чем переходить к коду? Я пробовал ниже, но не повезло. Заранее спасибо.
//Apply Discount
await this.attemptDiscount(
payload
);
const order = await this.ordersService.getOrder(
orderId
);
//Required condition
if (
order.hasOwnProperty("discounts") &&
order.discounts[0].name ===
"Exclusive Discount"
) {
// Proceed with code
}