Вопрос проверяет понимание того, как вернуть результат асинхронной операции из функции, использующей Promise, и знание паттерна async/await.
Когда функция создает Promise, она должна вернуть этот Promise. Результат асинхронной операции становится доступен через цепочку .then() или с помощью синтаксиса async/await. Это основа работы с асинхронностью в JavaScript.
function fetchData() {
return new Promise((resolve) => {
setTimeout(() => resolve('данные'), 1000);
});
}
fetchData().then(data => console.log(data)); // 'данные' через 1 секСовременный подход — использовать async/await. Функция объявляется с async, а внутри await приостанавливает выполнение до разрешения Promise. Это делает код более читаемым.
async function getData() {
const result = await fetchData();
return result;
}
getData().then(data => console.log(data));Важно: async функция всегда возвращает Promise, даже если явно вернуть значение. Ошибки обрабатываются через try/catch.
Используйте async/await для упрощения асинхронного кода, особенно при последовательных операциях. Это улучшает читаемость и уменьшает вложенность по сравнению с цепочками .then().
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию