Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   AddEventListener как передать параметр в процедуру обработки события? (http://www.flasher.ru/forum/showthread.php?t=178903)

Provlax 02.05.2012 01:51

AddEventListener как передать параметр в процедуру обработки события?
 
Добрый день. Имеется подписка на событие получения результата от метода веб-сервиса. Подскажите, как можно передать в функцию обработки этого события какой либо параметр?

Код AS3:

public var ws:WebService = new WebService();
 
...
 
ws.GetLinks.addEventListener(ResultEvent.RESULT, onWSGetLinks);
 
...       
 
private function onWSGetLinks(event:ResultEvent):void {
 
    // Тут требуется какой либо параметр, для того чтобы отличить первый вызов от второго.
    // Если 1-й вызов, делать то, если 2-й вызов, то делать другое.
 
}
 
...
 
ws.GetLinks(); // 1-й вызов
 
...
 
ws.GetLinks(); // 2-й вызов


Wolsh 02.05.2012 02:02

В этом сборнике, подобранном специально для Вас, нет подходящего ответа?

Форум Flasher.ru > Flash > ActionScript 3.0 > Статьи > Слушатель с параметром

Provlax 02.05.2012 15:20

Цитата:

Сообщение от Wolsh (Сообщение 1077860)
В этом сборнике, подобранном специально для Вас, нет подходящего ответа?

Форум Flasher.ru > Flash > ActionScript 3.0 > Статьи > Слушатель с параметром

К сожалению нет. Все примеры по ссылке предполагают несколько объектов, к каждому объекту свой addEventListener.

У меня объект один и одна подписка на событие. Мне нужно передать параметр в обработчик не в момент объявления подписки, а в момент вызова метода по завершении которого срабатывает обработчик.

expl 02.05.2012 15:50

Цитата:

Мне нужно передать параметр в обработчик не в момент объявления подписки, а в момент вызова метода по завершении которого срабатывает обработчик.
Раз об этом параметре знает метод, который распространяет событие - пусть вешает параметр на это событие.
Т.е. что тогда мешает в ResultEvent поле добавить?

Provlax 02.05.2012 19:17

Цитата:

Сообщение от expl (Сообщение 1077931)
Раз об этом параметре знает метод, который распространяет событие - пусть вешает параметр на это событие.
Т.е. что тогда мешает в ResultEvent поле добавить?

Не совсем понятно, как это можно сделать.

Salador 02.05.2012 19:34

Можно так, если я правильно понял вопрос.
Код AS3:

public var ws:WebService = new WebService();
 private var Mytemp:Boolean=true;
...
 ws.GetLinks.addEventListener(ResultEvent.RESULT, onWSGetLinks);
 ...       
private function onWSGetLinks(event:ResultEvent):void {
 
    // Тут требуется какой либо параметр, для того чтобы отличить первый вызов от второго.
    // Если 1-й вызов, делать то, если 2-й вызов, то делать другое.
  if (Mytemp) {GetLinks1();} else {GetLinks2();}
    Mytemp=false;
}
 ...
 private function GetLinks1()
{
 // 1-й вызов
...
 }
private function GetLinks2()
{
// 2-й вызов
}



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

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