Иногда вам нужно несколько действий внутри отдельных функций, некоторые из них могут быть асинхронными, а некоторые - синхронными.Допустим, у вас есть следующий код с обещаниями.
getUser().then(user => {
getOrders({
user: user
}).then(orders => {
console.log(orders)
})
})
что теперь, если вы хотите, чтобы заказы выбирались только в том случае, если условие истинно, но пусть дальнейший код выполняется как есть, тогда, если вы используете обещания,вам нужно создать отдельную функцию и затем вызывать эту функцию следующим образом
function logOrders(orders) {
console.log(orders)
}
getUser().then(user => {
if (user.hasOrders) {
getOrders({
user: user
}).then(logOrders)
} else {
logOrders([])
}
})
, но с помощью async / await вы можете сделать это следующим образом
(async () => {
const user = await getUser();
let orders = [];
if (user.hasOrders) {
orders = await getOrders({
user: user
})
}
console.log(orders)
})()