Отложенный import deferred
Ключевое слово deferred используется вместе с директивой import
для отложенной загрузки библиотеки. Такая библиотека не загружается
при старте приложения, а подгружается только тогда, когда код впервые
обращается к её содержимому. Это полезно для уменьшения начального
размера загружаемого кода и ускорения запуска программы.
Отложенный импорт обозначается через as с указанием префикса,
после чего добавляется deferred.
Синтаксис
import 'path/to/library.dart' deferred as prefix;
Пример
Давайте создадим отложенный импорт и загрузим библиотеку перед первым использованием:
import 'package:example/example.dart' deferred as ex;
void main()
{
ex.loadLibrary().then((_) {
print(ex.someFunction());
});
}
Результат выполнения кода:
"abcde"
Пример
Давайте используем await для загрузки отложенной библиотеки
в асинхронной функции:
import 'package:example/example.dart' deferred as ex;
void main() async
{
await ex.loadLibrary();
print(ex.someFunction());
}
Результат выполнения кода:
"12345"