Spec-Zone.ru › Dart 2

dart:io

Метод runZoned<R>

R runZoned<R>(
  1. R body( ),
  2. {Директория createDirectory(
    1. Строка
    )?,
  3. Директория getCurrentDirectory( )?,
  4. void setCurrentDirectory(
    1. Строка
    )?,
  5. Директория getSystemTempDirectory( )?,
  6. Файл createFile(
    1. Строка
    )?,
  7. Будущее<СтатистикаФайла> stat(
    1. Строка
    )?,
  8. СтатистикаФайла statSync(
    1. Строка
    )?,
  9. Будущее<Булево> fseIdentical(
    1. Строка,
    2. Строка
    )?,
  10. Булево fseIdenticalSync(
    1. Строка,
    2. Строка
    )?,
  11. Будущее<ТипЭлементаФайловойСистемы> fseGetType(
    1. Строка,
    2. Булево
    )?,
  12. ТипЭлементаФайловойСистемы fseGetTypeSync(
    1. Строка,
    2. Булево
    )?,
  13. Поток<СобытиеФайловойСистемы> fsWatch(
    1. Строка,
    2. ЦелоеЧисло,
    3. Булево
    )?,
  14. Булево fsWatchIsSupported( )?,
  15. Ссылка createLink(
    1. Строка
    )?,
  16. Будущее<Сокет> socketConnect(
    1. динамический,
    2. ЦелоеЧисло,
    3. {динамический sourceAddress,
    4. ЦелоеЧисло sourcePort,
    5. Продолжительность? timeout}
    )?,
  17. Будущее<ЗадачаПодключения<Сокет>> socketStartConnect(
    1. динамический,
    2. ЦелоеЧисло,
    3. {динамический sourceAddress,
    4. ЦелоеЧисло sourcePort}
    )?,
  18. Будущее<СерверныйСокет> serverSocketBind(
    1. динамический,
    2. ЦелоеЧисло,
    3. {ЦелоеЧисло backlog,
    4. Булево shared,
    5. Булево v6Only}
    )?,
  19. СтандартныйВвод stdin( )?,
  20. СтандартныйВывод stdout( )?,
  21. СтандартныйВывод stderr( )?}
)

Выполняет body в новой зоне с предоставленными переопределениями.

См. документацию по соответствующим методам IOOverrides для информации о том, что делают необязательные аргументы.

Реализация

static R runZoned<R>(R body(),
    {
    // Directory
    Directory Function(String)? createDirectory,
    Directory Function()? getCurrentDirectory,
    void Function(String)? setCurrentDirectory,
    Directory Function()? getSystemTempDirectory,

    // File
    File Function(String)? createFile,

    // FileStat
    Future<FileStat> Function(String)? stat,
    FileStat Function(String)? statSync,

    // FileSystemEntity
    Future<bool> Function(String, String)? fseIdentical,
    bool Function(String, String)? fseIdenticalSync,
    Future<FileSystemEntityType> Function(String, bool)? fseGetType,
    FileSystemEntityType Function(String, bool)? fseGetTypeSync,

    // _FileSystemWatcher
    Stream<FileSystemEvent> Function(String, int, bool)? fsWatch,
    bool Function()? fsWatchIsSupported,

    // Link
    Link Function(String)? createLink,

    // Socket
    Future<Socket> Function(dynamic, int,
            {dynamic sourceAddress, int sourcePort, Duration? timeout})?
        socketConnect,
    Future<ConnectionTask<Socket>> Function(dynamic, int,
            {dynamic sourceAddress, int sourcePort})?
        socketStartConnect,

    // ServerSocket
    Future<ServerSocket> Function(dynamic, int,
            {int backlog, bool v6Only, bool shared})?
        serverSocketBind,

    // Standard Streams
    Stdin Function()? stdin,
    Stdout Function()? stdout,
    Stdout Function()? stderr}) {
  IOOverrides overrides = new _IOOverridesScope(
    // Directory
    createDirectory,
    getCurrentDirectory,
    setCurrentDirectory,
    getSystemTempDirectory,

    // File
    createFile,

    // FileStat
    stat,
    statSync,

    // FileSystemEntity
    fseIdentical,
    fseIdenticalSync,
    fseGetType,
    fseGetTypeSync,

    // _FileSystemWatcher
    fsWatch,
    fsWatchIsSupported,

    // Link
    createLink,

    // Socket
    socketConnect,
    socketStartConnect,

    // ServerSocket
    serverSocketBind,

    // Standard streams
    stdin,
    stdout,
    stderr,
  );
  return _asyncRunZoned<R>(body, zoneValues: {_ioOverridesToken: overrides});
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-io/IOOverrides/runZoned.html

Spec-Zone.ru

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