我想知道下面两个之间的区别;
ref.watch(fooProvider).value
返回String?
ref.watch(fooProvider.future)
返回Future<String?>
区别只是它们返回了什么?
我想知道什么时候使用。请给我举个例子。
下面是一个示例代码;
final fooProvider = FutureProvider<String?>((ref) {
return Future.delayed(Duration(seconds: 2), () => "foo");
});
final xxx = FutureProvider<String?>((ref) async {
final String? ttt = ref.watch(fooProvider).value;
final String? sss = await ref.watch(fooProvider.future);
return '$ttt / $sss';
});
ref.watch(fooProvider.foreture(;
是未来<字符串>
ref.watch(fooProvider(.value;
是字符串吗?所以没有必要等待。