Приостановить скрипт до получения ответа
При работе с Google Maps возникла проблема: JavaScript работает быстрее чем запросы к Google Maps. Как можно приостановить скрипт до получения ответа?
for (var i=0; i<=5; i++) { alert (i); // выдает поочередно: 1, 2, 3, 4, 5 directionsService.route(request, function(response, status) { alert (i); // сразу выдает 5, а нужно 1, 2, 3, 4, 5 }); } |
попробуйте ,что выдаст
alert(response) ответ то там, |
Цитата:
|
vah-smile,
Тут вообще дело походу не в скорости. То, что у тебя сразу 5 выдается говорит о том , что ты пропустил раздел 'Замыкания' |
vah-smile,
for (var i = 0; i <= 5; i++) { (function (i) { directionsService.route(request, function (response, status) { alert(i); }); }(i)); } |
Цитата:
Короче, тебе нужен калбек. |
Как господин Rise изобразил - тебе ТС все равно не надо. Там копируется твое i внутри функции, но ты просто не знал как делать и поэтому начал канонично с for. А тебе вообще фор не нужен.
|
Часовой пояс GMT +3, время: 06:32. |