Spec-Zone.ru › Dart 2

dart:isolate

Метод spawnUri

Future<Isolate> spawnUri(
  1. Uri uri,
  2. List<String> args,
  3. dynamic message,
  4. {bool paused = false,
  5. SendPort? onExit,
  6. SendPort? onError,
  7. bool errorsAreFatal = true,
  8. bool? checked,
  9. Map<String, String>? environment,
  10. @Deprecated('The packages/ dir is not supported in Dart 2') Uri? packageRoot,
  11. Uri? packageConfig,
  12. bool automaticPackageResolution = false,
  13. @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 параметр checked управляет только утверждениями, но не проверками типов.

Возможно, не всегда будет возможным выполнить параметр checked. Если код изолированного процесса был предварительно скомпилирован, может быть невозможно динамически изменить настройку режима проверки. В этом случае параметр checked игнорируется.

ПРЕДУПРЕЖДЕНИЕ: Параметр checked пока не реализован на всех платформах.

Если параметр packageConfig указан, он используется для поиска расположения файла конфигурации разрешения пакетов для изолированного процесса.

Если параметр automaticPackageResolution указан, расположение исходных файлов пакетов в изолированном процессе определяется автоматически.

environment — это отображение строк на строки, которое изолированный процесс использует при поиске значений String.fromEnvironment. Система также может добавить свои собственные записи в окружение. Если environment опущен, в изолированном процессе объявлены те же переменные окружения, что и в исходном.

ПРЕДУПРЕЖДЕНИЕ: Параметр environment пока не реализован на всех платформах.

Если указан параметр debugName, запущенный Isolate будет идентифицироваться по этому имени в отладчиках и журналах.

Возвращает будущее, которое завершится экземпляром 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.18.5/dart-isolate/Isolate/spawnUri.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API