Итак, я уже некоторое время использую require.js, но понял, что на самом деле не знаю, как это работает внутри. Там написано, что это загрузчик AMD.
Я понимаю, что CommonJS является синхронным, что означает, что он блокирует выполнение других кодов во время загрузки. С другой стороны, AMD асинхронна. Вот тут я запутался.
Когда я определяю модуль, он должен загрузить a, b, c, чтобы выполнить обратный вызов. Как здесь работает асинхронность?
- Разве это не синхронно, когда сначала нужно загрузить эти три зависимости?
- Означает ли это, что AMD загружает a, b, c асинхронно, затем проверяет, загружены ли эти файлы (не заботится о порядке), а затем выполняет обратный вызов?
define("name",["a","b","c"], function(a,b,c){
});