Загрузка…
JavaScript · middle · сложность 4
Callback hell (pyramid of doom) — глубокая вложенность колбэков, когда каждый следующий асинхронный шаг зависит от предыдущего. Код растёт вправо, ошибки дублируются, читать и тестировать тяжело.
getUser(id, (user) => { getOrders(user.id, (orders) => { getOrderDetails(orders[0], (details) => { render(details); }); }); });
async/await
Promise.all
async function show(id) { const user = await getUser(id); const orders = await getOrders(user.id); const details = await getOrderDetails(orders[0]); render(details); }
На собеседовании: показать «пирамиду» и переписать на async/await.