Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  1. Создаём переменную и promise (в начале кода виджета).

    Блок кода
    var loadHandler = null;
    var loadedPromise = new Promise((resolve,reject)=>{
                // resolve();//вызвать когда виджет отрисовался
                loadHandler = resolve;
            });
  2. Добавить в объект виджета highcharts строку(подробно: https://api.highcharts.com/highcharts/chart.events.load ):

    Блок кода
    chart: {
            events: {
                load: loadHandler
            }
        }

    Метод “load” отслеживает загрузку виджета, после загрузки виджета передаёт значение в переменную, которую мы ждём в promiseвстроен в библиотеку и вызывается после отрисовки виджета. Он резолвит promise, который мы создали ранее, давая сигнал что можно делать скриншот. Для других библиотек можно использовать аналогичные встроенные методы или же резолвить promise через фиксированный промежуток времени.

  3. Вставляем строку кода (в конец кода виджета):

    Блок кода
    ({
        isLoaded: function(){
            return loadedPromise
        }
    })

...