异步编程
Future、Stream
Future
future.dart
Future fetchUser() async {
await Future.delayed(Duration(seconds: 1));
return 'User Data';
}
void main() async {
var user = await fetchUser();
print(user);
fetchUser().then((data) => print('Then: $data'));
}
Stream
stream.dart
Stream countStream(int max) async* {
for (int i = 1; i <= max; i++) {
await Future.delayed(Duration(seconds: 1));
yield i;
}
}
void main() {
countStream(3).listen((v) => print('Received: $v'));
}