Паралельное выполнение одной и той-же функции
Здравствуйте,
Есть функция которая делает запрос к серверу и получает от него ответ и передаёт дальше, - с этим проблем нет.
Нужно эту функцию вызвать два раза; то есть пока выполняется первый экземпляр, - выполняется второй. - вот тут то и начинаются проблемы.
У функции есть ещё параметр timeLimit
ну то есть она какое то время ждёт ответа от сервера, и если его не получает в
заданный промежуток времени, - то сообщает об ошибке.
в начале функции устанавливается таймер:
var myAJtimer= setTimeout(onTimeEnd,timeLimit);
ну а в конце если ответ пришёл нормально то:
window.clearTimeout(myAJtimer);
я подозреваю что проблема как раз в таймерах, т.к.:
ответы от двух запросов приходят нормально, но по таймауту появляется ошибка,
что сервер не ответил, - то есть таймер не останавливается.
Итак вопрос: Так что же из моих предположений верно? - То есть могут ли пересекаться значения, и если да, то как сделать что бы область видимости переменных не пересекалась.
если не понятно объяснил, спрашивайте, попытаюсь рассказать лучше.
|