dart:core
库中Finalizer.attach
方法的用法介绍如下。
用法:
void attach(
Object value,
T finalizationToken,
{Object? detach}
)
将此终结器附加到 value
。
当value
不再可供程序访问时,同时仍具有此终结器的附件,此终结器may
的回调将使用finalizationToken
作为参数调用。每个活动附件最多可以调用一次回调,未通过调用 Finalizer.detach 分离的附件。
如果提供了非 null
detach
值,则可以将该对象传递给 Finalizer.detach 以再次删除附件。
value
和 detach
参数不计入程序可以访问的那些对象。两者都必须是作为Expando 键支持的对象。它们可能是same
对象。
例子:
/// Access the data base.
Database connect() {
// Wraps the connection in a nice user API,
// *and* closes connection if the user forgets to.
var connection = _connectToDatabase();
var wrapper = Database._fromConnection(connection, _finalizer);
// Get finalizer callback when `wrapper` is no longer reachable.
_finalizer.attach(wrapper, connection, detach: wrapper);
return wrapper;
}
可以使用相同的终结令牌附加多个对象,并且终结器可以使用不同或相同的终结令牌多次附加到同一对象。
相关用法
- Dart Finalizer.detach用法及代码示例
- Dart Finalizer用法及代码示例
- Dart Finalizable用法及代码示例
- Dart FileList.first用法及代码示例
- Dart FileList.length用法及代码示例
- Dart File用法及代码示例
- Dart FileSystemEntity用法及代码示例
- Dart FileSystemEntity.resolveSymbolicLinks用法及代码示例
- Dart File.renameSync用法及代码示例
- Dart FileSystemEntity.resolveSymbolicLinksSync用法及代码示例
- Dart FileList.elementAt用法及代码示例
- Dart FixedSizeListIterator.current用法及代码示例
- Dart File.rename用法及代码示例
- Dart FixedSizeListIterator.moveNext用法及代码示例
- Dart FileList.last用法及代码示例
- Dart Future用法及代码示例
- Dart Float32List.view用法及代码示例
- Dart Future.doWhile用法及代码示例
- Dart Future.any用法及代码示例
- Dart Future.value用法及代码示例
- Dart Float32x4List.sublist用法及代码示例
- Dart Function.apply用法及代码示例
- Dart Future.wait用法及代码示例
- Dart Future.whenComplete用法及代码示例
- Dart Future.catchError用法及代码示例
注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 attach method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。