Значение свойства-функции объекта
Пишу парсер для VK. Запнулся на следующем:
var resp[]; function getCityMembers(city, agefrom, ...){ VK.api('users.search', {...some params}, function (data){ resp = data.response.items.concat(); console.info(resp); return resp; }); function getData(){ getCityMembers(city, agefrom, ...); console.info(resp); } В функции getCityMembers команда console.info выводит полученный массив с данными, а в ф-и getData массив resp пустой. Не могу понять почему - ведь resp это глобальная переменная и изменения в ней должны быть видны одинаково в обоих ф-ях |
Сабж - в смысле заголовок темы? Здесь VK.api - это функция-объект, а в ней анонимная ф-я является свойством этого объекта и тоже непростым, а свойством-функцией. Мне нужно каким-то образом получить в функции getData значение этого свойства(в данном случае массив). Лучшее, что пришло в голову - объявить глобальную переменную resp[] и скопировать в неё получаемый массив. Однако в ф-и getData() этот массив пуст. Не могу понять почему. Если есть другие варианты, как я могу получить массив data.response.items за пределами getCityMembers - пишите, не стесняйтесь.
|
Как вариант - что посоветуют забелённые js-сединами профессора?????
|
никак в толк не могу взять почему изменения в глобальной переменной resp, сделанные в callback, не видны за пределами этой callback функции.
resp = data.response.items.concat(); |
Часовой пояс GMT +3, время: 00:56. |