Използвам polyfill.io за polyfill Promise и fetch за по-стари клиенти. На техния уебсайт те препоръчват да използвате програма за зареждане на скриптове или тяхното обратно извикване, за да сте сигурни, че скриптът е зареден напълно преди да стартирате съвременния код:
Препоръчваме използването на атрибутите async и defer на тагове, които се зареждат от услугата polyfill, но зареждането от нас по неблокиращ начин означава, че не можете да знаете със сигурност дали собственият ви код ще се изпълни преди или след като polyfill-ите са направени Зареждане.
За да се уверите, че полифилите са налице, преди да опитате да изпълните свой собствен код, можете да прикачите манипулатор при зареждане към https://cdn.polyfill.io скриптов маркер, използвайте по-сложен инструмент за зареждане на скриптове или просто използвайте нашия аргумент за обратно извикване, за да оцените глобално обратно извикване, когато полифилите са заредени:
Не трябва ли обаче настройката defer
и на двата скрипта вече да гарантира, че те се зареждат асинхронно, но все пак в реда, в който се появяват в документа (освен ако браузърът не поддържа отлагане)?
<script src="https://cdn.polyfill.io/v2/polyfill.min.js" defer></script>
<script src="modernscript.js" defer></script>