Встречается на собеседованиях • сегодня

В чем разница между генерацией async/await и Promise

async/await — это синтаксический сахар над Promise, который делает асинхронный код более читаемым и похожим на синхронный.

Ключевые различия:

  1. Читаемость:
    async/await позволяет избежать цепочек .then(), делая код линейным.
    javascript
    // Promise
    fetchData().then(data => process(data)).catch(err => console.error(err));
    

// async/await
try {
const data = await fetchData();
process(data);
} catch (err) {
console.error(err);
}

text

2. **Обработка ошибок:**  
В `Promise` ошибки ловятся через `.catch()`, а в `async/await` — через `try/catch`.

3. **Возвращаемое значение:**  
Функция с `async` всегда возвращает `Promise`, даже если внутри используется `return` с обычным значением.

**Нюансы:**  
- `await` можно использовать только внутри `async`-функций.  
- `async/await` не заменяет `Promise` полностью (например, `Promise.all` удобнее для параллельных запросов).  

Итог: `async/await` упрощает работу с асинхронностью, но под капотом всё равно работают `Promise`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы