@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

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

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

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект