Суть: на страничку к объекту 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 вызове.
Есть ли более изящное решение?