阅读量:0
在Dart中进行异步编程有多种方式,其中最常见的是使用Future和async/await关键字。以下是一个简单的示例:
void main() { print('Start'); fetchData().then((data) { print('Data fetched: $data'); }).catchError((error) { print('Error: $error'); }); print('End'); } Future<String> fetchData() async { await Future.delayed(Duration(seconds: 2)); return 'Hello, World!'; }
在上面的示例中,main函数首先打印"Start",然后调用fetchData函数。fetchData函数是一个异步函数,其中使用await关键字来等待一个延迟2秒的Future对象。在等待期间,程序会继续执行主线程中的代码。当Future对象完成后,程序会继续执行fetchData函数并返回数据。最后,程序打印"Data fetched: Hello, World!"。
除了Future和async/await外,Dart还提供了Stream来处理流式数据的异步编程。通过Stream,可以实现基于事件的异步编程模式。