Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.01.2011, 00:37
johny71 вне форума Посмотреть профиль Отправить личное сообщение для johny71 Найти все сообщения от johny71
  № 1  
Ответить с цитированием
johny71

Регистрация: Jan 2011
Сообщений: 5
По умолчанию Вызов vk.api в цикле

Код AS3:
for(var i:uint = 0; i<searchResult.length(); i++, startY=startY+56){
		var authorSearchResultLbl:Label = new Label();
		var dateSearchResultLbl:Label = new Label();
		var marksSearchResultLbl:Label = new Label();
		var titleSearchResultLbl:Label = new Label();
 
		authorSearchResultLbl.x = startX;
		authorSearchResultLbl.y = startY;
		dateSearchResultLbl.x = authorSearchResultLbl.x + 115;
		dateSearchResultLbl.y = authorSearchResultLbl.y;
		marksSearchResultLbl.x = authorSearchResultLbl.x + 230;
		marksSearchResultLbl.y = authorSearchResultLbl.y;
		titleSearchResultLbl.x = authorSearchResultLbl.x;
		titleSearchResultLbl.y = authorSearchResultLbl.y + 22;
 
		dateSearchResultLbl.text = searchResult[i].@date;
		marksSearchResultLbl.text = searchResult[i].@marks;
		titleSearchResultLbl.text = searchResult[i];
 
		addChild(authorSearchResultLbl);
		addChild(dateSearchResultLbl);
		addChild(marksSearchResultLbl);
		addChild(titleSearchResultLbl);
 
		VK.api("getProfiles", {uids:searchResult[i].@author, fields:"first_name,last_name"}, function(response:Object){
			   authorSearchResultLbl.text = response[0]["first_name"];
		}, loadUserInfoFail);
}
Получаю следующие результаты:
[IMG]http://img137.**************/img137/4763/76711152.jpg[/IMG]
[IMG]http://img214.**************/img214/7201/78926069.jpg[/IMG]

Как видно из рисунков имя записывается только на последний label. Как сделать так, чтобы были заполнены все лэйблы?

Старый 06.01.2011, 05:52
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 2  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
К АПИ Вконтакте это не имеет никакого отношения.
Сделайте один запрос к АПИ, получив сразу все данные без циклов. Используя циклы в запросах, рискуете получить ошибку в результате не соответствия допустимому кол-ву запросов в единицу времени (подробнее в описании АПИ)
Пройдитесь один раз цкилом и сразу заполните все нужное, исходя из полученных при запросе данных.
И избавьтесь от вложенных функций.
И да, если пишите в кадрах - пора переходить на классы.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 06.01.2011, 12:42
johny71 вне форума Посмотреть профиль Отправить личное сообщение для johny71 Найти все сообщения от johny71
  № 3  
Ответить с цитированием
johny71

Регистрация: Jan 2011
Сообщений: 5
если делать один запрос, то одинаковые uid попадают в один response. я имею ввиду вот что:

Код AS3:
VK.api("getProfiles", {uids:"13182048,13182048,97043114", fields:"first_name,last_name"}, f, loadUserInfoFail);
обращаясь потом к респонсу

Код AS3:
trace(response[0]["uid"]+" "+response[0]["first_name"]);
trace(response[1]["uid"]+" "+response[1]["first_name"]);
trace(response[2]["uid"]+" "+response[2]["first_name"]);
получается

Код:
13182048 xxxxx
97043114 xxxxx
TypeError: Error #1010: Термин не определен и не имеет свойств.
	at Function/<anonymous>()
	at Function/<anonymous>()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at flash.net::URLLoader/onComplete()
мне нужно ведь по порядку их выводить. а если будут 2 одинаковых uid порядок собьется.

Старый 06.01.2011, 16:09
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 4  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
Цитата:
если делать один запрос, то одинаковые uid попадают в один response. я имею ввиду вот что:
Заведите массив (array1) с нужными uid (13182048,13182048,97043114)
Получите данные для уникальных uid от вконтакта

Пройдитесь в цикле по всем uid из массива (array1), беря данные для каждого uid из полученного ответа для вконтакта.

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 03:09.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.