Можно ли отложить выполнение скрипта, не блокируя другие скрипты?

#javascript #jquery

Вопрос:

если у меня нет контроля над порядком файлов JavaScript, возможно ли как-то задержать выполнение моего сценария, но позволить в это время выполняться другим сценариям. Например, мой сценарий A загружается до сценариев B и C. Но сценарии B и C загружают некоторые данные в DOM, с которыми мне нужно работать. Могу ли я каким-то образом отложить свой сценарий, чтобы скрипт B amp; C мог запустить и загрузить данные? Могу ли я, например, установить задержку на 5 секунд для выполнения моего сценария, позволить другим сценариям выполняться в течение этих 5 секунд, а затем выполнить мой сценарий? Или это единственное решение, чтобы добавить мой сценарий в качестве последнего?

Спасибо

Комментарии:

1. Загрузите сценарий D,который управляет порядком загрузки и выполнения A, B и C

2. Вы могли setInterval() бы подождать какой-то произвольный период перед выполнением кода, но что плохого в загрузке ваших сценариев в соответствующем порядке?

3. Вы можете добавить атрибуты async или defer в первый сценарий.

4. Если B и C загружают данные асинхронно, вам следует пересмотреть весь свой подход. Задержка выполнения скрипта на фиксированное количество секунд неизбежно либо разозлит пользователя, либо приведет к плачевному исходу. Правильное решение-использовать обещания или асинхронное ожидание (или обратные вызовы старой школы) для 1. загрузки всех данных 2. обновления DOM 3. запуска кода из сценария A

5. @TangentiallyPerpendicular хорошо подходит для университетского проекта, я хотел бы знать, возможно ли это. Просто попробуй что-нибудь придумать. Но я не мог этого понять.