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

Останется ли функция чистой при асинхронном запросе

Нет, функция с асинхронным запросом не будет чистой, так как она зависит от внешнего состояния (сервера) и может возвращать разные результаты при одинаковых входных данных. Чистая функция должна:

  1. Всегда возвращать одинаковый результат для одинаковых аргументов
  2. Не иметь побочных эффектов (не изменять внешнее состояние)

Пример нечистой функции:

javascript
async function fetchUser(id) {
  const response = await fetch(`/api/users/${id}`);
  return response.json(); // Результат зависит от сервера
}

Для тестирования можно изолировать запросы, передавая их как зависимость:

javascript
async function getUser(id, fetchFn = fetch) {
  const response = await fetchFn(`/api/users/${id}`);
  return response.json();
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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