Spec-Zone.ru › Dart 2

dart:developer

registerExtension function

void registerExtension(
  1. String method,
  2. ServiceExtensionHandler handler
)

Зарегистрировать ServiceExtensionHandler, который будет вызван в этом изоляте для method. ПРИМЕЧАНИЕ: расширения протокола служб необходимо регистрировать в каждом изоляте.

ПРИМЕЧАНИЕ: method должно начинаться с 'ext.', а чтобы избежать конфликтов с другими пакетами, следует использовать следующую структуру: 'ext.package.command'. То есть сразу после префикса 'ext.' должно идти имя регистрирующего пакета, затем точка ('.'), а затем имя команды. Например: 'ext.dart.io.getOpenFiles'.

Поскольку расширения служб относятся к конкретному изоляту, клиенты, использующие расширения, должны всегда включать параметр 'isolateId' в каждый RPC.

Реализация

void registerExtension(String method, ServiceExtensionHandler handler) {
  // TODO: When NNBD is complete, delete the following line.
  checkNotNullable(method, 'method');
  if (!method.startsWith('ext.')) {
    throw new ArgumentError.value(method, 'method', 'Must begin with ext.');
  }
  if (_lookupExtension(method) != null) {
    throw new ArgumentError('Extension already registered: $method');
  }
  // TODO: When NNBD is complete, delete the following line.
  checkNotNullable(handler, 'handler');
  _registerExtension(method, handler);
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-developer/registerExtension.html

Spec-Zone.ru

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