@GAmoVeR

Как узнать что все асинхронные запросы завершились?

Суть: на страничку к объекту Canvas добавляется достаточно большое число объектов.
В качестве фреймворка для работы с Canvas используется FabricJS.

Используется встроенный класс Image, который вызывает callback функцию при успешной первичной загрузке картинки в память.
for (i=0; i<=n; i++)
{
   //some code 
   fabric.Image.fromURL(url, function(img) {
       // callback function on success load from url
       // some code
       canvas.add(img);
       imagesCollection[i].state = true;
       if (checkAllState(imagesCollection) == true) 
               canvas.renderAll();
    })
}


Задача - выполнить render для всего canvas после того как выполнятся все запросы на инициализацию.

Сейчас для каждого объекта отдельно хранится статус вызова и он меняется + проверяется на каждом успешном callback вызове.
Есть ли более изящное решение?
  • Вопрос задан
  • 246 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Kano
Воспользуйтесь функционалом Promisess из представленных библиотек habrahabr.ru/post/209662
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект