@ldmitriy

Async и defer не работают согласно документации?

<script src="script1.js" defer></script>
	<script src="script2.js" async></script>
	<script src="script3.js" defer></script>
	<script src="script4.js" defer></script>


script1
console.log('1');
script2
console.log('2');
script3
console.log('3');
script4
console.log('4');

Порядок выполнения в Firefox Quantum бывает следующим(если обновить страницу несколько раз):
1 2 3 4 здесь относительный порядок выполнения не сохранился с defer
2 1 3 4 здесь относительный порядок выполнения сохранился с defer

В Chrome порядок выполнения:
1 3 4 2 здесь относительный порядок выполнения сохранился с defer

Почему возникают такие разногласия?
  • Вопрос задан
  • 457 просмотров
Пригласить эксперта
Ответы на вопрос 1
Krasnodar_etc
@Krasnodar_etc
fundraiseup
В чём разногласие-то? Скрипт с async вполне может выполниться быстрее первого скрипта с defer

По-сути, вы через defer только одну последовательность контролируете - сначала 1, за ним 3, за ним 4. Скрипт 2 же может выполниться в любой момент
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 23:55
3000 руб./за проект
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект