Closed DChinin closed 9 years ago
modules.require
выполняется асинхронно для того, чтобы не зависеть от порядка, в котором идут декларации и реквайры.
Учитывая асинхронную природу модулей, которые вообще могут резолвиться не сразу, ожидаемого результата, что "по script.onload коллбэк из modules.require уже будет выполнен" быть не может в принципе.
@dfilatov ок, есть примеры решения динамической подгрузки? События/костыли?
Что именно имеется ввиду под динамической загрузкой?
Вот, например, модуль, который умеет динамически подгружать js https://github.com/bem/bem-core/blob/v2/common.blocks/loader/_type/loader_type_js.js, после загрузки которого, можно реквайрить новые модули.
@dfilatov необходимо выполнить функцию после выполнения коллбэка из подгружаемого модуля. (скрыть прелоадер при открытии новой view, либо передать параметры в открываемую view).
Варианты реализации понятны, спасибо за ответы!
Какой смысл в выполнении require через nextTIck?
Возникла проблема: необходимо динамически подгрузить скрипт. Внутри скрипта modules.require использует уже определенные модули. Ожидаемый результат, что по script.onload коллбэк из modules.require уже будет выполнен. Возможно уже есть решение с динамической подгрузкой?