Метод spawnUri
Future<Isolate> spawnUri(Создаёт и запускает изолированное выполнение кода из библиотеки по указанному URI.
Изолированное выполнение начинает выполнение функции main из библиотеки с данным URI.
Целевая main должна быть вызываемой с нулём, одним или двумя аргументами. Примеры:
main()main(args)main(args, message)
Если присутствует, параметр args устанавливается в предоставленный список args. Если присутствует, параметр message устанавливается в начальное значение message.
Если параметр paused установлен в true, изолированное выполнение начнётся в приостановленном состоянии, как если бы было произведено начальное вызов isolate.pause(isolate.pauseCapability). Чтобы возобновить изолированное выполнение, вызовите isolate.resume(isolate.pauseCapability).
Если параметры errorAreFatal, onExit и/или onError заданы, изолированное выполнение будет действовать так, как если бы соответственно были вызваны setErrorsFatal, addOnExitListener и addErrorListener с соответствующим параметром и были обработаны до начала работы изолированного выполнения.
Вы также можете вызвать методы setErrorsFatal, addOnExitListener и addErrorListener на возвращённом объекте изолированного выполнения, но если изолированное выполнение было запущено как paused, оно может уже завершиться, прежде чем эти методы смогут завершиться.
Если параметр checked установлен на true или false, новое изолированное выполнение будет выполнять код в режиме проверки, соответственно в режиме производства, если это возможно. Если параметр опущен, новое изолированное выполнение унаследует значение от текущего изолированного выполнения.
Возможно не всегда будет возможным выполнить параметр checked. Если код изолированного выполнения был предварительно скомпилирован, может быть невозможно динамически изменить значение проверки режима. В таком случае параметр checked игнорируется.
ПРЕДУПРЕЖДЕНИЕ: Параметр checked ещё не реализован на всех платформах.
Если предоставлен параметр packageRoot, он используется для определения расположения исходных кодов пакетов в созданном изолированном выполнении.
URI параметра packageRoot должен быть URI "file" или "http"/"https", который указывает на директорию. Если он не заканчивается на слеш, он будет добавлен перед использованием URI, а любые части запроса или фрагмента игнорируются. Импорты пакетов (например, "package:foo/bar.dart") в новом изолированном выполнении разрешаются относительно этого расположения, так же, как и packageRoot.resolve("foo/bar.dart").
Если предоставлен параметр packageConfig, он используется для определения расположения конфигурационного файла разрешения пакетов для созданного изолированного выполнения.
Если предоставлен параметр automaticPackageResolution, то расположение исходных кодов пакетов в созданном изолированном выполнении определяется автоматически.
Параметр environment — это отображение строк на строки, которое использует созданное изолированное выполнение при поиске значений String.fromEnvironment. Система также может добавить свои собственные записи в среду. Если environment опущен, созданное изолированное выполнение имеет те же объявления среды, что и запускающее изолированное выполнение.
ПРЕДУПРЕЖДЕНИЕ: Параметр environment ещё не реализован на всех платформах.
Возвращает отложенный результат, который завершится экземпляром Isolate, если запуск был успешным. В противном случае он завершится ошибкой.
Исходный код
external static Future<Isolate> spawnUri(
Uri uri, List<String> args, var message,
{bool paused: false,
SendPort onExit,
SendPort onError,
bool errorsAreFatal,
bool checked,
Map<String, String> environment,
Uri packageRoot,
Uri packageConfig,
bool automaticPackageResolution: false});
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-isolate/Isolate/spawnUri.html