Мне нужно обработать таймауты в своих $ .ajax() вызовах проекта jQueryMobile. Выполняя некоторые исследования, я столкнулся с двумя жизнеспособными методами.В этом случае лучше .fail() или .timeout()?
.error()
.fail()
, кажется, общий: если вызов не по какой-либо причине, то я пнул назад стек ошибок, а затем вызов функции записывается обрабатывать все, что мне нужно это.
.timeout
, по-видимому, позволяет мне иметь дело с таймаутами и указать период времени, который я могу подождать, если я не получу ответа, тогда вызов истечет и выдает ошибку.
Мой вопрос в мобильной среде, было бы лучше обрабатывать таймауты с помощью вызова .timeout()
? Или я должен покрывать все вызовы функцией
.error()
.fail()
и выполнять таймауты в обратном вызове ошибки?
Работа с мобильными устройствами ожидается, что пользователь может выйти из зоны покрытия, поэтому, если вызов никогда не вернется, моя кишка скажет, чтобы реализовать функцию таймаута. Имеют ли ошибки обратные вызовы встроенный тайм-аут? Я хотел бы обработать все ошибки изящно, поэтому кажется, что, возможно, счастливый носитель будет реализовывать оба, и указывая таймауты, чтобы работать непосредственно с обратным вызовом таймаута.
Есть ли что-нибудь, что у меня может быть отсутствует здесь?
Просто к сведению, '.error' амортизируется, используйте' .fail' –
Я предложил бы использовать опцию тайм-аута в дополнение к добавлению в 'fail' обработчик. –
http://api.jquery.com/jQuery.ajax упоминает об этом, но это также объясняется в документации по отложенным объектам по адресу http://api.jquery.com/deferred.fail/ –