|
onreadystatechange
| ☑ |
0
Помогите
12.11.13
✎
10:10
|
xhr[i] = getXmlHttp()
xhr[i].onreadystatechange = function(e) {
if (xhr[i].readyState == 4) {
change();
}
}
xhr[i].open('GET', 'ya.ru', true);
xhr[i].send(null);
|
|
1
Помогите
12.11.13
✎
10:11
|
в этом примере если i изменится, то работать будет не корректно?
Как сделать правильно?
|
|
2
regniws
12.11.13
✎
10:20
|
кажется это не для мисты вопросы, тут только ифоны обсуждают и пятничные ветки.
кажется редкостным гамнокодом - в лямбде использовать итераторы верхнего уровня, еще и от движка может поведение отличиться, видимо.
|
|
3
Помогите
12.11.13
✎
10:45
|
(2) а как еще эту хрень в цикле сделать?
|
|
4
Asmody
12.11.13
✎
10:53
|
xhr[i].onreadystatechange = function(e) {
var xxx=xhr[i];
if (xxx.readyState == 4) {
change();
}
}
|
|
5
Asmody
12.11.13
✎
10:56
|
не, наврал
xhr[i].onreadystatechange = (function(xxx) {
retrun function(e) {
if (xxx.readyState == 4) {
change();
}
})(xhr[i]);
}
|
|
6
Asmody
12.11.13
✎
10:57
|
а еще, наверно, можно использовать this, но осторожно
|
|
7
Помогите
12.11.13
✎
11:14
|
this пробовал, он равен window
|
|
8
regniws
12.11.13
✎
11:31
|
(5) а ради любопытства xhr[i] = getXmlHttp() будет же существовать только в том скоупе, где он создан, так? Когда лямбда по этому событию сработает этот объект xhr[i] все еще будет существовать? ссылка на него где присутствует? или сборщик может уже почистить этот объект?
|
|
9
regniws
12.11.13
✎
11:36
|
(+8) а, не, не так. если xhr существует вне скоупа то и ссылки на getXmlHttp() будут продолжать жить.
|
|
10
Помогите
18.11.13
✎
05:48
|
всем спасибо. Сам разобрался. Поменял true на false.
|
|
11
Помогите
18.11.13
✎
09:52
|
Тему можно удалить
|
|