[Перевод] Асинхронный JavaScript против отложенного

В моей статье Понимание критического пути рендеринга (перевод статьи) я писала о том, какой эффект оказывают JavaScript-файлы на Критический Путь Рендеринга (CRP).


JavaScript является блокирующим ресурсом для парсера. Это означает, что JavaScript блокирует разбор самого HTML-документа. Когда парсер доходит до тега

Вот что произойдёт, когда парсер будет обрабатывать документ:


fc6581de40d249e5905cf3fa238286eb.png

Парсинг HTML приостанавливается, пока скрипт не будет загружен и выполнен, тем самым увеличивая количество времени до первой отрисовки.


Атрибут async


Async используется для того, чтобы указать браузеру, что скрипт может быть выполнен асинхронно.
Парсеру HTML нет необходимости останавливаться, когда он достигает тега