flutter - While 循环停止 Timer 运行(Dart)
问题描述
我对飞镖中的while循环有疑问。
这是一段代码:
bool temp = false;
Timer(Duration(milliseconds: 5), () {
print('In timer:' + temp.toString());
temp = true;
});
Timer(Duration(milliseconds: 1000), () {
print('In timer:' + temp.toString());
});
结果正是我所期望的:
false (after 5 ms)
true (after 1 s)
但是当添加while循环时:
bool temp = false;
Timer(Duration(milliseconds: 5), () {
print('In timer:' + temp.toString());
temp = true;
});
while (!temp) {}
print('End');
我希望它会像这样打印出控制台:
false
End (immediately after false)
但是一切都停留在 while 循环中,并且计时器似乎不再运行以更新 temp。我可以得到任何解释吗?
解决方案
推荐阅读
- php - PHP 文件缓存触发内部 307 == 不安全警告
- r - Rcpp 使用外部和 pmax
- c++ - 类/结构内外的模板参数
- scala - 从案例类的 Seq 生成单个案例类
- ruby-on-rails - 如何在rails中使用有很多条件
- qt - 使用控制 + 加号和控制 - 减号进行缩放?
- python - 基于使用 Seaborn 或 Matplotlib 的两个不同 pandas DataFrame(具有相同结构)的记录的子图
- c++ - 如何使用 Win32 为 MDI 应用程序的标题设置文本颜色?
- node.js - 在 MongoDB 中保存纳秒时间戳(由 Go 生成,使用 Node.js 保存)
- python - 已知短语前后的正则表达式条件