Как javascript выполняется в приложении react

#javascript #html #reactjs #ecmascript-6 #web-applications

Вопрос:

У меня следующая ситуация

index.html

 <head>
    <!-- Web Analytics SDK -->
    <script async src="https://host/prd/analytics_bundle.min.js"></script>
    <script>
      (function (arr) {
        window.analyticsSDK = window.analyticsSDK || {};
        arr.forEach(function (a) {
          window.analyticsSDK[a] = window.analyticsSDK[a] || function () {
           (window.analyticsSDK.q = window.analyticsSDK.q || []).push([a, ...arguments]);
          }
        });
      })(['initialize', 'sendEvent']);
  </script>
  <!-- End Web Analytics SDK -->
  --- some other scripts.  
</head>
 

Затем я использую объект из i.e analyticsSDK для его index.jsx глобальной инициализации следующим образом.

индекс.jsx

 window.analyticsSDK.initialize('myapp','prod');
 

Я не в состоянии понять порядок исполнения здесь. Я хочу знать

  1. Когда этот скрипт будет загружен? Произойдет ли это перед запуском index.jsx ?
  2. Есть async в сценарии. Когда будет вызвана функция внутри скрипта, т. е. (function (arr)..) ? Произойдет ли это сразу после загрузки скрипта?
  3. Будет analyticsSDK be added to the window before calling ли инициализироваться на нем?

Из-за этого я наблюдаю какое-то странное поведение. Для некоторых пользователей он инициализируется, для некоторых пользователей-нет. Мне трудно его отлаживать. Было бы здорово, если бы кто — нибудь мог помочь ответить на мои вопросы.