Когда Callback лучше чем Event
Рискую начать очередной холивар, но все таки напишу...
Почитал старую темку про Callback vs Event, и задумался(вчера тоже эта темя затрагивалась). А действительно, в каких ситуациях callback лучше чем событие, по крайней мере для меня? Думал, думал, почему в одних случаях я делаю то или другое, и понял... Callback лучше в тех случаях, когда он должен вызваться один и только один раз, и после этого может быть очищен без ведома пользователя. Пример: Код AS3:
Код AS3:
В такой ситуации event был бы куда менее удобен. Аналогичным примером являются всевозможные твинеры. А как считаете вы? |
Был такой дядька, очень любил бриться, Оккамом звали. Так вот, следуя из того, что он говорил, если событие не нужно, то оно не нужно :)
|
Цитата:
|
Вместо
Код AS3:
Код AS3:
|
Гипотетически предположим, что это самое поле _complete как то доступно скоупу передаваемого метода, что в реальной жизни из разряда фантастики.
Изменили, ага. И что? |
Гипотетически это может быть не разовое действие, а перезапускаемое, и передаваемый метод как раз может при некоторых условиях перезапускать эту активность. А мы _complete занулим, и наша активность уперётся в путое место при окончании.
Знаю, что это всё "если бы да ка бы", но это не из разряда фантастики и в реальной жизни я такое встречал. Добавлено через 9 минут Даже в данном примере, это может быть попытка залогиниться повторно. |
Изменили. Теперь _complete = null. И что, присваивая fun = _complete = null в нём чудом появится ссылка на начальный метод _complete?
Цитата:
Внимание, вопрос: на кой передавать метод того же класса в коллбек, если можно его сразу же дёрнуть? |
Не понял Вашу мысль, или скорее не смог понятно выразить свою.
Попробую ещё раз Код AS3:
если мы выполним _complete, который запустит повторную попытку логина, а потом обнулим _complete, то повторная попытка ничем не закончится. |
Меня тоже интересует основной вопрос топикстартера, сам событиями пользоваться не очень люблю. Хотелось бы услышать мнение как профи, так и "профи".
|
Цитата:
Где реально можно ошибиться, занулив коллбек случайно? |
Часовой пояс GMT +4, время: 18:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.