Javascript: xmlhttpRequest Object Как обрабатывать один асинхронный запрос за раз - PullRequest
0 голосов
/ 05 ноября 2010

У меня вопрос по объекту xmlhttprequest. Допустим, я создаю объект xmlhttprequest X для обработки пользовательского запроса (асинхронно) к серверу. По какой-то причине серверу требуется 15 секунд для ответа. В течение этих 15 секунд, если пользователь нажимает другую кнопку, как я собираюсь определить существование первого объекта xmlhttprequest, который я создал, чтобы действовать соответствующим образом (либо сообщая пользователю, что ему нужно ждать первого просьба завершить или отменить его и продолжить со вторым.)

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

Заранее спасибо.

1 Ответ

1 голос
/ 05 ноября 2010

Вы можете установить флаг при первоначальном вызове, а затем сбросить его в ответе.Обязательно очистите его в обратном вызове ошибки, если это применимо к используемой платформе.

var callInProgress = false;

...

function callSever() {
    callInProgress = true;
    ...
}

function responseHandler() {
    ...
    callInProgress = false;
}

function errorHandler() {
    ...
    callInProgress = false;
}
...