Разве действительно асинхронный, неблокирующий javascript невозможен?

Итак, я что-то упускаю?

Все движки javascript в популярных современных браузерах (по состоянию на 2011 г.) являются однопоточными .

Это означает, что, хотя СОБЫТИЯ могут происходить асинхронно, они по-прежнему помещаются в очередь (в «однофайловой» ") для выполнения.

Это означает, что все эти методы для загрузки внешнего javascript на страницу HTML, на самом деле они предназначены только для того, чтобы загрузка происходила асинхронно, однако выполнение загруженного кода, всегда выполняется по одной (функции), по одному файлу за раз.

Итак, другие «советы», которые я видел в Интернете, чтобы разбить и выполнить инициализацию блоков кода с помощью setTimeout, это было бы фиктивным, неверным советом - timer также является однофайловой очередью и выполняется только по порядку. С помощью setTimeout вы просто вызываете выполнение вне очереди через таймер и позволяете другим событиям в браузере (например, щелчки мыши или нажатие клавиш и т. Д.) Переходить в очередь - это само по себе может быть хорошо, но это определенно не асинхронное выполнение кода.

Если я прав, есть куча плохих, неправильно понятых советов, которые слишком часто повторяются.

5
задан ck_ 25 March 2011 в 15:03
поделиться