putIfAbsent<T extends Object> method
T
putIfAbsent<T extends Object>({
- Object? key,
- required T ifAbsent(),
- LifecycleExtDataOnDestroy<
T> ? onDestroy,
根据Type + key获取,如果不存在则创建信息
Implementation
T putIfAbsent<T extends Object>({Object? key,
required T Function() ifAbsent,
LifecycleExtDataOnDestroy<T>? onDestroy}) {
if (_isDestroyed) {
throw Exception('extData has been destroyed.');
}
return _data
.putIfAbsent(
_genKey<T>(key: key), () => _ExtDataEntry<T>(ifAbsent(), onDestroy))
.data;
}