Как обнаружить тайм-аут на Ajax вызов (XmlHttpRequest) в браузере?

git stash + rebase автоматизация

Поскольку, когда мне нужно много раз модифицировать старый коммит для обзоров Геррита, я делаю:

git-amend-old() (
  # Stash, apply to past commit, and rebase the current branch on to of the result.
  current_branch="$(git rev-parse --abbrev-ref HEAD)"
  apply_to="$1"
  git stash
  git checkout "$apply_to"
  git stash apply
  git add -u
  git commit --amend --no-edit
  new_sha="$(git log --format="%H" -n 1)"
  git checkout "$current_branch"
  git rebase --onto "$new_sha" "$apply_to"
)

GitHub upstream .

Использование:

  • Изменить файл
  • git-amend-old $old_sha

Мне нравится это над --autosquash, так как оно не раздавливает другие несвязанные исправления.

43
задан YakovL 16 January 2018 в 14:38
поделиться

1 ответ

ОБНОВЛЕНИЕ: Вот пример того, как вы можете обработать тайм-аут:

var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "http://www.example.com", true);

xmlHttp.onreadystatechange=function(){
   if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
      clearTimeout(xmlHttpTimeout); 
      alert(xmlHttp.responseText);
   }
}
// Now that we're ready to handle the response, we can make the request
xmlHttp.send("");
// Timeout to abort in 5 seconds
var xmlHttpTimeout=setTimeout(ajaxTimeout,5000);
function ajaxTimeout(){
   xmlHttp.abort();
   alert("Request timed out");
}

В IE8 вы можете добавить ] timeout обработчик события для объекта XMLHttpRequest .

var xmlHttp = new XMLHttpRequest();
xmlHttp.ontimeout = function(){
  alert("request timed out");
}

Я бы не рекомендовал делать синхронные вызовы, как предполагает ваш код, а также рекомендую использовать для этого инфраструктуру javascript. jQuery - самый популярный. Это делает ваш код более эффективным, простым в обслуживании и кросс-браузерной совместимостью.

Вы можете добавить обработчик события timeout к объекту XMLHttpRequest .

var xmlHttp = new XMLHttpRequest();
xmlHttp.ontimeout = function(){
  alert("request timed out");
}

Я бы не рекомендовал выполнять синхронные вызовы, как предполагает ваш код, а также рекомендую использовать для этого инфраструктуру javascript. jQuery - самый популярный. Это делает ваш код более эффективным, простым в обслуживании и кросс-браузерной совместимостью.

Вы можете добавить обработчик события timeout к объекту XMLHttpRequest .

var xmlHttp = new XMLHttpRequest();
xmlHttp.ontimeout = function(){
  alert("request timed out");
}

Я бы не рекомендовал выполнять синхронные вызовы, как предполагает ваш код, а также рекомендую использовать для этого инфраструктуру javascript. jQuery - самый популярный. Это делает ваш код более эффективным, простым в обслуживании и кросс-браузерной совместимостью.

51
ответ дан 26 November 2019 в 22:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: