Dart异步编程的实现方式

avatar
作者
猴君
阅读量:4

在Dart中,有多种方式来实现异步编程,其中包括使用Future、async/await、Stream等。

  1. Future:Future 表示一个可能会在未来完成的操作。可以通过Future.then()方法来处理异步操作的结果,也可以使用Future.catchError()来处理异常情况。示例代码如下:
Future<String> fetchData() {   return Future.delayed(Duration(seconds: 2), () => "Data fetched successfully"); }  void main() {   fetchData().then((data) {     print(data);   }).catchError((error) {     print("Error occurred: $error");   }); } 
  1. async/await:async/await 是一种更简洁、直观的异步编程方式,用于简化使用Future的代码。async关键字表示一个函数是异步的,而await关键字用于等待异步操作的完成。示例代码如下:
Future<String> fetchData() {   return Future.delayed(Duration(seconds: 2), () => "Data fetched successfully"); }  void main() async {   String data = await fetchData();   print(data); } 
  1. Stream:Stream 表示一个异步操作的序列,可以通过监听Stream的事件来处理异步操作的结果。示例代码如下:
Stream<int> countStream(int n) async* {   for (int i = 0; i < n; i++) {     yield i;   } }  void main() {   countStream(5).listen((data) {     print(data);   }); } 

这些是在Dart中实现异步编程的几种常用方式,选择合适的方式取决于具体的需求和场景。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!