статический метод spawnUri
- Uri uri,
-
List<
String> args, - dynamic message,
- {bool paused = false,
- SendPort? onExit,
- SendPort? onError,
- bool errorsAreFatal = true,
- bool? checked,
-
Map<
String, String>? environment, - @Deprecated('The packages/ dir is not supported in Dart 2') Uri? packageRoot,
- Uri? packageConfig,
- bool automaticPackageResolution = false,
- @Since("2.3") String? debugName}
Создает и запускает изолят, выполняющий код библиотеки по указанному URI.
Изолят начинает выполнение функции верхнего уровня main библиотеки с заданным URI.
Цель main должна вызываться с нулем, одним или двумя аргументами. Примеры:
main()main(args)main(args, message)
Если параметр args присутствует, ему присваивается переданный список args. Если параметр message присутствует, ему присваивается начальное значение message.
Если параметру paused присвоено значение true, изолят запустится в приостановленном состоянии, как если бы изначально был вызван метод isolate.pause(isolate.pauseCapability). Чтобы возобновить работу изолята, вызовите isolate.resume(isolate.pauseCapability).
Если переданы параметры errorsAreFatal, onExit и/или onError, изолят будет вести себя так, как если бы методы setErrorsFatal, addOnExitListener и addErrorListener соответственно были вызваны с соответствующим параметром и обработаны до начала выполнения изолята.
Вы также можете вызвать методы setErrorsFatal, addOnExitListener и addErrorListener для возвращенного изолята, но если изолят не был запущен как paused, он может завершиться до того, как эти методы успеют выполниться.
Если параметру checked присвоено значение true или false, новый изолят будет выполнять код соответственно в проверяемом режиме (с включенными утверждениями и проверками типов) или в рабочем режиме (с отключенными утверждениями и проверками типов), если это возможно. Если параметр не указан, новый изолят унаследует значение текущего изолята.
В Dart2 в режиме strong параметр checked управляет только утверждениями, но не проверками типов.
Не всегда возможно учесть параметр checked. Если код изолята был предварительно скомпилирован, динамически изменить настройку проверяемого режима может быть невозможно. В этом случае параметр checked игнорируется.
ПРЕДУПРЕЖДЕНИЕ: параметр checked пока реализован не на всех платформах.
Если указан параметр packageConfig, он используется для определения расположения файла конфигурации разрешения пакетов для запускаемого изолята.
Если указан параметр automaticPackageResolution, расположение исходных файлов пакетов в запускаемом изоляте определяется автоматически.
environment — это соответствие строк строкам, которое запускаемый изолят использует при поиске значений String.fromEnvironment. Система также может добавлять собственные записи в окружение. Если environment не указан, запускаемый изолят получает те же объявления окружения, что и запускающий изолят.
ПРЕДУПРЕЖДЕНИЕ: параметр environment пока реализован не на всех платформах.
Если указан debugName, запускаемый Isolate будет отображаться под этим именем в отладчиках и журналах.
Возвращает future, который завершится экземпляром Isolate, если запуск прошел успешно. В противном случае он завершится с ошибкой.
Реализация
external static Future<Isolate> spawnUri(
Uri uri,
List<String> args,
var message,
{bool paused = false,
SendPort? onExit,
SendPort? onError,
bool errorsAreFatal = true,
bool? checked,
Map<String, String>? environment,
@Deprecated('The packages/ dir is not supported in Dart 2')
Uri? packageRoot,
Uri? packageConfig,
bool automaticPackageResolution = false,
@Since("2.3")
String? debugName});
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-isolate/Isolate/spawnUri.html