【发布时间】:2021-06-10 20:41:25
【问题描述】:
Dart 如何在不阻塞的情况下运行异步代码? 例如:
void test(User user) async {
print('test');
String fullName = user.firstName + ' ' + user.lastName;
final result = await sendRequest(fullName);
print('${result}');
}
我了解 Dart 运行 async 函数时,它会在 await 之前执行代码,然后将剩余的代码包装到 Future 并放入 Event Loop 中。但是,我们正在等待的 Future (await sendRequest(fullName)) 如何不阻止运行其他同步代码?我们应该等待请求完成,但它还需要一些代码来检查我们是否收到了响应。怎么不阻塞其他操作,比如按钮点击?
【问题讨论】:
-
我会推荐阅读以下文章:medium.com/dartlang/…
标签: dart asynchronous async-await event-loop