asynchronous - Dart 中的 await 关键字会自动处理数据依赖吗?
问题描述
例如在下面的代码中
var Cake thisCake = new CheeseCake();
thisCake = await fetchGreenTeaCakeOnline();
if (thisCake.isCheeseCake) {
print('This is still a cheese cake.')
} else {
print('The cake is updated')
}
thisCake
最初是 的一个实例cheeseCake
,它将被异步分配为 的一个实例GreenTeaCake
。该if
子句是等待await
赋值完成后再执行,还是会不顾数据依赖而执行thisCake
?
解决方案
await
等待 a 的完成Future
。在您的示例thisCake
中,将获得Future
分配,然后await
等待它完成。
你可能更想要
thisCake = 等待 fetchGreenTeaCakeOnline()
这种方式await
等待Future
完成并将期货值分配给thisCake
推荐阅读
- react-native - 使用 Atom 和 React Native 的 ESLint 意外解析错误
- ios - 创建一个以 UIViewController 作为参数的函数
- css - 一行上灵活但有界宽度的填充内容部分的 CSS
- javascript - 在 React 转换之前,Div 已经填补了它的位置
- ios - 推送视图控制器后如何保留 UITabBar
- python - Python/Django:我需要一些代码在请求之间运行,要寻找哪个概念?
- python - 使用具有正确语法的 pandas to_datetime() 方法,无法识别的值类型:str?
- c++ - std::get_time 在 Visual C++ 2017 上失败
- apache-kafka - systemd execstart 脚本未读取环境变量
- python-3.x - 具有多线程的 Python 端口扫描器