Leo5878
@Leo5878
Улыбчивай, люблю учить и учиться

Как узнать, когда иницелизируется функция?

Есть два документа, которые должны грузиться асинхронно. Из документ А, вызывается функция, которая в документе B. Проблема в том, что происходит состояние гонки. Вызывается функция, который еще не существует. Есть ли способ, проверить на сущестование функци и только после ее вызвать!? А еще лучше, если бы функция могла бы уведомить какой либо обработчик о том, что она создана. Но, надо, чтобы "обрабочик" тоже был уже создан. Так как все грузиться асинхронно, то не всегда можно приугадать что появиться быстрее
  • Вопрос задан
  • 33 просмотра
Решения вопроса 1
Promises есть в некоторых языках программирования. "Обещание" того, что страница загрузится. Нужна конструкция как в JavaScript Promise.all([ P1, P2 ]); – после выполнения обоих обещаний можно вызывать функцию.

// псевдокод
var docA, docB;
Pa = asyncload("url-A"); // ф-я возвращает промис
Pb = asyncload("url-B"); 
Promise.all([ Pa, Pb ]).then( docA.b_is_ready() );
// метод объекта docA  "b_is_ready" вызывает функцию в документе B
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы