Используйте fetch с явной проверкой HTTP-статуса, затем разберите JSON и обработайте ошибки сети, сервера и формата.
Write a function getUserProfile that takes a userId as an argument and fetches the user profile from the API endpoint "[link] The function should log the user profile if the fetch is successful, and log an error message if the fetch fails.
Используйте fetch с явной проверкой HTTP-статуса, затем разберите JSON и обработайте ошибки сети, сервера и формата.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Используйте fetch с явной проверкой HTTP-статуса, затем разберите JSON и обработайте ошибки сети, сервера и формата.
Адрес endpoint отсутствует в условии, поэтому функция построения URL передаётся отдельно. В production не следует логировать целиком профиль и чувствительные детали ошибок.
async function getUserProfile(userId, profileUrlFor) {
try {
const response = await fetch(profileUrlFor(userId));
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const profile = await response.json();
console.log(profile); // только учебный пример
return profile;
} catch {
console.error('Не удалось загрузить профиль');
return null;
}
}
Функция profileUrlFor должна использовать настоящий маршрут API и корректно кодировать идентификатор.