当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart Finalizer.detach用法及代码示例


dart:core 库中Finalizer.detach 方法的用法介绍如下。

用法:

void detach(
   Object detach   
)

将此终结器与 detach 附加的值分离。

此终结器和一个值之间的每个附件都被删除,该值是通过使用 detach 对象作为 detach 参数调用 attach 创建的。

如果终结器使用不同的分离键多次附加到相同的值,则仅删除那些使用detach 的附件。

分离后,如果对象变得不可访问,附件不会导致任何回调发生。

例子:

final Finalizer<DBConnection> _finalizer = Finalizer((connection) {
  connection.close();
});

class Database {
  final DBConnection _connection;
  final Finalizer<Connection> _finalizer;
  Database._fromConnection(this._connection, this._finalizer);

  // Some useful methods.

  void close() {
    // User requested close.
    _connection.close();
    // Detach from finalizer, no longer needed.
    // Was attached using this object as `detach` token.
    _finalizer.detach(this);
  }
}

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 detach method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。