Как выполнить js скрипт, только после загрузки json файлов?
Всем привет! У меня есть скрипт js, который зависим от файлов json. Как сделать так, чтобы сначала загружались json файлы, а только потов выполнялся js. Навесить переменные в json файлах и подключать их в html - не предлагайте. Такой способ работает, но я еще эти файлы редактирую на сервере.
Как вы обращаетесь к данным, которые в json файле?
Как вариант использовать fetch для доступка к json файлам и весь код, который их использует вызывать в then https://www.pluralsight.com/guides/fetch-data-from...
Я загружаю json файлы через ajax в другом js скрипте, и подключаю его выше основного скрипта в html. Но проблема в том, что два js скрипта выполняются асинхронно.
Вы предагаете весь код в файле перенести в .then? Даже если я оберну их в функцию, там 200+ строк кода.
Alex, Будете убегать от промисов, прибежите к callbackHell
1) Избегайте глобальных переменных, и переменных из замыкания, не заставляйте того, кто читает ваш код искать, почему в это переменной появились данные, и кто их изменил.
1) https://habr.com/ru/company/mailru/blog/269465/
2) Не нужно весь код запихивать в then выносите его в функцию и функцию подключайте в then
3) Разбейте весь код на функции, чтобы такой рефакторинг не вызывал ужаса.
В идеале функция должна занимать не больше чем экран кода.
По умолчанию js файлы загружаются и исполняются последовательно. То есть, если у вас не указаны defer и/или async атрибуты при подключении, то просто разместитье json выше обрабатывающего скрипта.
К сожалению, я наблюдаю асинхронное выполнение скриптов. Сначала загружается скрипт который ниже. Атрибуты defer/async решают отчасти задачу, но 1 раз из 5 загружается сначала нижний скрипт. Ломаю голову уже 2 часа