當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。