Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.02.2011, 10:34
Новичок на форуме
Отправить личное сообщение для kentnsk Посмотреть профиль Найти все сообщения от kentnsk
 
Регистрация: 25.02.2011
Сообщений: 4

как правильно передать значение переменной?
Здравствуйте.

написал такой код:
window.onload = (function() {
  mailru.loader.require('api', function() {
    mailru.app.init('438529345');
    ...      	
    perm_ok = 0;
    mailru.common.users.hasAppPermission(function(permissions) {
      if (permissions.widget == 1) {
        perm_ok++;
        alert ("1 - " + perm_ok);
      }
    }, 'widget');
    mailru.common.users.hasAppPermission(function(permissions) {
      if (permissions.notifications == 1) {
        perm_ok++;
        alert ("2 - " + perm_ok);
      }
    }, 'notifications');
    alert ("finish - " + perm_ok);
  });
});


задача, чтобы после выполнения ф-ций perm_ok == 2, в итоге получаю:
finish - 0
1 - 1
2 - 2

подскажите пожалуйста почему finish - 0? как сделать чтобы было finish - 2?
Всем заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 25.02.2011, 10:44
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,122

Сообщение от kentnsk
почему finish - 0?
Вот почитай...
http://javascript.ru/basic/functions#oblasti-vidimosti
Ответить с цитированием
  #3 (permalink)  
Старый 25.02.2011, 11:04
Новичок на форуме
Отправить личное сообщение для kentnsk Посмотреть профиль Найти все сообщения от kentnsk
 
Регистрация: 25.02.2011
Сообщений: 4

тогда не понятно почему он выводит "2 - 2", если это локальная переменная...
подскажите пожалуйста каким способом можно добиться "finish - 2"?
Как узнать что в 2-х функциях выполнены нужные мне условия, в данном случае работая со сторонней библиотекой?
Ответить с цитированием
  #4 (permalink)  
Старый 25.02.2011, 11:21
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от kentnsk
подскажите пожалуйста почему finish - 0?
Потому что finish выполняется до того, как выполнятся функции.
Ответить с цитированием
  #5 (permalink)  
Старый 25.02.2011, 11:25
Новичок на форуме
Отправить личное сообщение для kentnsk Посмотреть профиль Найти все сообщения от kentnsk
 
Регистрация: 25.02.2011
Сообщений: 4

Сообщение от Kolyaj Посмотреть сообщение
Потому что finish выполняется до того, как выполнятся функции.
подскажите пожалуйста как сделать чтобы сначала выполнились функции, а потом finish? В рамках моего кода.
Буду очень Вам благодарен...
Ответить с цитированием
  #6 (permalink)  
Старый 25.02.2011, 11:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Может почитать документацию по api mailru?
Ответить с цитированием
  #7 (permalink)  
Старый 25.02.2011, 11:49
Новичок на форуме
Отправить личное сообщение для kentnsk Посмотреть профиль Найти все сообщения от kentnsk
 
Регистрация: 25.02.2011
Сообщений: 4

Сообщение от Kolyaj Посмотреть сообщение
Может почитать документацию по api mailru?
"Результат возвращается в виде объекта, где ключем является название привилегии, а значением 1 или 0 в зависимости от того, есть привилегия или нет."
но результат возвращается внутри функции mailru.common.users.hasAppPermission(), сама же функция как я понял не возвращает значение...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать картинку из javascript в php KIVagant AJAX и COMET 3 12.05.2010 11:54
Переменная как значение функции. Jurasmi Общие вопросы Javascript 7 22.04.2010 12:45
Как передать переменную с текстом по событию FRIE jQuery 8 20.04.2010 13:03
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25
Как правильно оформить Send() Алекс97 AJAX и COMET 20 30.10.2008 19:19