|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Вопос о правильности написания функции
Здравствуйте.
Часто возникает вопрос как правильнее будет... Стоит ли функцию urlLoader_complete выносить как отдельный метод класса? Или лучше оставлять как функцию внутри метода loaderXml ? Т.е. так ? private function loaderXml(e:Event):void { var xml:XML; var urlRequest:URLRequest = new URLRequest("file.xml"); var urlLoader:URLLoader = new URLLoader(); urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete); urlLoader.load(urlRequest); function urlLoader_complete(e:Event):void { xml = new XML(e.currentTarget.data); trace(xml); } } private var xml:XML; private function loaderXml(e:Event):void { var urlRequest:URLRequest = new URLRequest("file.xml"); var urlLoader:URLLoader = new URLLoader(); urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete); urlLoader.load(urlRequest); } private function urlLoader_complete(e:Event):void { xml = new XML(e.currentTarget.data); trace(xml); }
__________________
кто не отвечает, того garbage collector забирает |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Или так.
|
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Имхо лучше отдельным методом. т.к. в будущем может потребоваться повторить выполнение всей логики после загрузки без самой загрузки.Тогда просто вызываешь метод окончания загрузки и скармливаешь ему ранее загруженные данные.Такая ситуация может быть, например, в играх когда юзер нажал рестарт.
|
|
|||||
Не знаю почему, но все вокруг говорят, что функция в функции - ужасно плохо. Да и не смотрится.
Мне только не нравится момент, как у вас метод называется. Существительное)
__________________
There is no thing in this world that is not simple. |
|
|||||
Цитата:
п.с. Я лично делаю анонимные функции только для колбэков. Но по-моему, это лишь дело вкуса. За исключением описанного в 3 посте |
|
|||||
Цитата:
__________________
http://www.chessmax.ru |
|
|||||
Регистрация: Jan 2013
Сообщений: 322
|
не уметь программировать вообще очень плохо для производительности, вот и все.
у анонимной функции в плане скорости проблема только в том, что механизм замыканий требует пересоздавать функцию каждый раз. например функция будет создаваться каждый раз. имхо все равно что жаловаться на то, что new <Object>[{},....] каждый раз создает новый вектор. код работает не медленнее, чем если бы с методом. хотя в любом случае inline map может работать до 20 раз быстрее, чем какие то методы |
|
|||||
[+4 06.05.14]
|
Цитата:
По сути - ничего плохого нет. Пишите если надо - но в highLoad приложениях - вы сразу почуствуете разницу. С другой стороны - пока вы не пишите ничего такого, то вам и знать не положено, плохо или хорошо, а когда начнете - скорее всего такой вопрос у вас просто не зародится
__________________
Марк Tween |
Часовой пояс GMT +4, время: 20:35. |
|
« Предыдущая тема | Следующая тема » |
|
|