rememberAsyncValue<T> method
Implementation
AsyncValue<T> rememberAsyncValue<T>(Future<T> Function() value,
{Object? key, bool toLocal = false}) {
ValueNotifier<AsyncValue<T>> init() {
final result = mutableStateWith<AsyncValue<T>>(AsyncValue<T>.waiting());
final future = value();
future
.bindCancellable(mountable)
.then((v) => result.value = AsyncValue.value(v))
.onError<Object>((error, stackTrace) => result.value =
AsyncValue.error(error: error, stackTrace: stackTrace))
.ignore();
return result;
}
final vk = XKey<ValueNotifier<T>>(key);
ValueNotifier<AsyncValue<T>> r;
if (toLocal) {
r = remember2Local(init, key: vk);
} else {
r = remember(init, key: vk);
}
addToListenableSingleMarkNeedsBuildListener(r);
return r.value;
}