Система загрузки компонентов Vue 3 при использовании Promise работает следующим образом: 1
- Для определения асинхронного компонента используется функция defineAsyncComponent. 24 Она принимает функцию загрузчика, которая возвращает Promise. 2
- Коллбэк Promise resolve вызывается, когда получено определение компонента с сервера. 24 Также можно вызвать reject(reason), чтобы указать, что загрузка не удалась. 2
- Полученный компонент является обёрткой, которая вызывает функцию загрузчика только при фактической отрисовке на странице. 2
- Если предоставлен компонент загрузки, он будет отображаться сначала, пока загружается внутренний компонент. 2
- Если предоставлен компонент ошибки, он будет отображаться, когда Promise, возвращаемый функцией загрузчиком, будет отклонён. 2
Такая система позволяет загружать компоненты только тогда, когда они необходимы, что экономит ресурсы и ускоряет процесс начальной отрисовки. 1