Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Область видимости и локальное хранилище |
Автор: s1lver 1.4.2016, 12:12 | ||
Доброго времени суток! Совсем запутался в областях видимости(вроде все проверил) и решил использовать локальное хранилище. Но тут вообще происходит нечто странное. Что должно произойти, по моему мнению, при каждом проходе цикла: 1) передается название области в геокодер 2) определяются координаты для переданного города 3) записываются(перезаписываются при следующем проходе) в локальное хранилище 4) получаем из локального хранилица координаты 5) помещаем полученные из локального хранилища координы в массив
Однако проблема в том, что координаты всегда получаются последними. Вроде логично, при каждом проходе они перезаписались. Но, ведь они уже были помещены в массив перед перезаписью! Подскажите, пожалуйста, в чем может быть проблема или более изящное решение? ![]() |
Автор: ksnk 1.4.2016, 13:02 |
Все станет понятно, если обратить внимание, что цикл исполнится сразу весь, сформировав целую кучу запросов, а ответы на запросы к гуглу будут приходить уже потом, и дергать функции-обработчики. |
Автор: s1lver 1.4.2016, 13:58 | ||
Написал такой костыль:
Работает конечно, но как по хорошему сделать не понял ![]() |
Автор: ksnk 1.4.2016, 15:27 | ||
Что потом делается с pointData? Примерно так. Во всяком случае - ждать не будет броузер...
|
Автор: s1lver 4.4.2016, 07:36 | ||||||
Потом массив помещаю в другой массив(объект), а после из получившегося формирую JSON.
На самом деле работает, только если на сервере есть доступ к Интернет. Иначе, скрипт никогда не дождется ответа и вкладка упадет. Так что, мой костыль не подходит в этом случае. |
Автор: s1lver 4.4.2016, 08:50 | ||||
Не взлетело. Все равно данные приходят позже чем формируется массив. Пришлось поправить "костыль" следующим образом:
Как временное решение, думаю, подойдет. :( |
Автор: ksnk 4.4.2016, 18:09 | ||
А так? |