@mletov

Как узнать какое именно значение таймаута выставлять при ajax запросе?

Коллега ходила на собес, принесла вопрос: Мы отправляем ajax запрос, выставляем значение таймаута. Как выставлять это значение не "на глазок" и "не прозапас", а точную осмысленную цифру.

В моем понимании - никак. Мы же не знаем, что творится на сервере, когда он ответит и ответит ли вообще.

Но, видимо, раз такое спрашивают, есть какие-то нюансы.
  • Вопрос задан
  • 131 просмотр
Пригласить эксперта
Ответы на вопрос 2
nikolayshabalin
@nikolayshabalin
Автор профессиональных курсов в HTML Academy
Странный вопрос, но можно порассуждать.

Ajax событийно-ориентированный, то есть мы постоянно ждем каких-то событий. Событие загрузки, отправки, ожидания. Получается, что тут не может быть какого-то времени. Мы ждем какого-то события, но ждем как можно раньше.

Есть ещё такая тема в банковской среде (я только слышал и неручаюсь за эту инфу), что пользователь не любит, когда банковское приложение отвечает быстро. Нажал отправить деньги другу и если ответить, что всё прошло успешно, то пользователь спросит внутри себя - "А как же там транзакции, верификации. Что-то не так. Какой-то гнилой банк". То есть перед ответом нужно подождать, хотя ждать нужно интерфейсу, а не запросу. Запрос пускай ответит быстро, а интерфейс отреагирует через 300ms, а в эти 300ms покажем лоадер.

Может быть ещё имелось ввиду, что между запросами нужно делать задержку. Объясняю. Есть кнопка "загрузить" на неё можно клинкть пять раз секунду и отправится 5 запросов на сервер. Вот между кликами надо выставлять таймаут, чтобы отправился только один, но опять же это про интерефейс, а не запрос.

Может быть Вы не правильно поняли вопрос или Вам его донесли не правильно. В любом случае нынешняя формулировка заставляет задать кучу вопросов и Вам бы их следовало задать на собеседование, а не на тостере =) Но Вы в любом случае молодец, так как решили разобраться до конца.
Ответ написан
Комментировать
@grinat
Этот таймаут должен быть равен времени ожидание на http сервере, по умолчанию у большинства это 60 секунд, если за эти 60 секунд на бакенде не будет выполнен скрипт, то он будет убит, а сервер вернет ошибку время ожидания истекло, 504 ошибка, думаю такой ответ хотели услышать, хотя по факту это все не так.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы