我想知道以下两者之间的区别;
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';
});