Как вывести переменную из функций javascript

Гость Гость

<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>
<script type="text/javascript">
window.onload = (function() {  
   VK.init(function() {    
 
   VK.api("getVariable", {key:1040}, function(data) {
       
               var text = data.response;

   
});
каким образом вытащить из функций  результат text
Дополнено (1). пример с кодом
Дополнено (2). понимаете мне нужно использовать переменную после функций

Гость Гость

Точно не уверен, может как глобальную переменную использовать?

<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>
<script type="text/javascript">
vat text;
window.onload = (function() {  
 
  VK. Init(function() {    

  VK. Api("getVariable", {key:1040}, function(data) {
     
              text = data.response;

 
});

почитайте в сети про глобальные переменные

Сергей Yakudza_Sg Сергей Yakudza_Sg

>>Куренчук Сергей (Сергей Куренчук)>>каким образом вытащить из функций  результат text
>>>>Точно не уверен, может как глобальную переменную использовать?

Использование глобальной переменной особо ничего не изменит. Как видите значение переменной text приходит с ответом в ф-ю обратного вызова. Даже если у вас и будет доступ к глобальной переменной то как вы узнаете когда она получит свое значение, ведь обработка ответа идет асинхронно.
Тут все дело в подходе к построению логики приложения. Например, вам нужно вывести окошко с текстом как только оно будет доступно:

function showText(data) {
   alert. Data).toString(. ;
}
window.onload = function() {
   VK.init(function() {
       VK.api("getVariable", {key:1040}, function(data) {
           var text = data.response;
           showText(text);
       });
   };
};

Как видите, мы не "ловим" переменную с текстом в коде, чтобы работать с ней, а просто указываем поведение калбека когда ответ на запрос будет получен.

Сергей Yakudza_Sg Сергей Yakudza_Sg

>> понимаете мне нужно использовать переменную после функций

Ну и в чем проблема. Стройте более длинную цепочку. Просто нужно понять очень важным момент, а именно как работает асинхронный код. Также не стоит делать жестко связанный код, ничего хорошего это не сулит.
Предоставьте пример задачи в которой необходимо использование переменной text и я скажу Вам как ее решить.

Гость Гость

Лучше вызвать в этой функции ещё одну. Как раз ПОСЛЕ прихода ответа запроса. И в эту функцию будет передана переменная.

Сергей Yakudza_Sg Сергей Yakudza_Sg

>>Лучше вызвать в этой функции ещё одну. Как раз ПОСЛЕ прихода ответа запроса. И в эту функцию будет передана переменная.

Вот и я об этом

Добавить комментарий | Похожие обсуждения

Вопросы и ответы по Вконтакте
Вопросы и ответы

Популярные вопросы и ответы о социальной сети www.vkontakte.ru (vk.com)