Я создал процедуру для создания эскизов и Heres основной поток:асинхронная генерация миниатюр
1) get all jpg url from directory
2) iterate all the url
2.1) load url into a bitmap using URLRequest
2.2) resize the bitmap to small size
2.3) encode the bitmap into jpg
2.4) write the jpg into a file
3) update list dataprovider with thumb url and refresh
это работает 1 файл, но не на 2 или более файлов, и это клюв шаги 2,1 до 2,4 заключен в статическая функция с асинхронными методами. 2.1 - async, resize - async, encode - асинхронный, каждый из которых вложен через анонимную функцию, ожидающую завершения события.
К тому времени, когда следующая итерация достигнет шага 2.1, он передаст новый url, и методы обратного вызова из предыдущей итерации будут использовать его.
Какой лучший подход к этой проблеме? я просто создаю класс для выполнения шага 2 и создаю его каждый раз вместо статических функций? я чувствую, что он очень тяжелый.
спасибо. Я решил это, просто связав события event.COMPLETE и реструктурируя свой код. Я не хотел создавать какую-то структуру, такую как последовательность/секвентируемый класс, и не создавать экземпляр тяжелого объекта, поэтому я сделал самую простую реализацию, о которой я мог думать. – StephenNYC