Проверяет понимание необходимости таймаутов при выполнении HTTP-запросов к внешним API и умение их настраивать.
Таймаут ожидания ответа API — это ограничение по времени, в течение которого клиент готов ждать ответ от сервера. Без него запрос может «зависнуть» на неопределённый срок: сервер перегружен, сеть потеряла пакеты, DNS не отвечает — а клиент всё ждёт. В результате исчерпываются потоки, соединения и память, и падает уже сам клиент.
Обычно различают connect timeout (установка TCP-соединения), read/socket timeout (ожидание данных после отправки запроса) и общий timeout на весь запрос. Настраивать стоит все три, иначе медленный handshake или медленная передача тела ответа всё равно подвесят клиент.
const axios = require('axios');
const client = axios.create({
baseURL: 'https://api.example.com',
timeout: 3000, // общий таймаут 3 секунды
});
async function fetchUser(id) {
try {
const res = await client.get(`/users/${id}`);
return res.data;
} catch (e) {
if (e.code === 'ECONNABORTED') {
console.error('Превышен таймаут запроса');
}
throw e;
}
}
import requests
try:
r = requests.get(
'https://api.example.com/users/1',
timeout=(2, 5) # (connect, read) в секундах
)
data = r.json()
except requests.Timeout:
print('Запрос не успел выполниться')
Итог: таймауты обязательны для любого сетевого вызова — они защищают клиент от зависаний, обеспечивают быстрый отказ и повышают устойчивость системы. Применяйте их всегда, подбирая значения под реальные метрики сервиса.
Уровень
Рейтинг:
5
Сложность:
3
Навыки
Node.js
Networks
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию