JavaScript: Когда точно выполняется функция, назначенная событию onload? - PullRequest
0 голосов
/ 24 января 2020
function loadScript(src, callback) {
  let script = document.createElement('script');
  script.src = src;

  script.onload = () => callback(script);

  document.head.append(script);
}

loadScript('/my/script.js', function() {
  ...
  ...
});

Здесь функция обратного вызова выполняется при срабатывании события onload. Но когда событие onload будет запущено? При добавлении скрипта вызывается событие onload? Потому что я вижу, что выполнение моей функции обратного вызова происходит, как только вызывается loadScript.

1 Ответ

2 голосов
/ 24 января 2020

Выполняется после копирования источника сценария с URL-адреса script.src в DOM и выполнения кода в сценарии.

Поместите несколько операторов console.log() в script.js и функцию обратного вызова и Вы должны увидеть порядок, в котором все происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...