我想停止/睡眠执行以模拟长时间的过程,遗憾的是我无法找到有关它的信息。我已经阅读了以下主题(How can I "sleep" a Dart program),但这不是我想要的。
例如,来自sleep()
个软件包的dart:io
函数不适用,因为此软件包在浏览器中不可用。
例如:
import 'dart:html';
main() {
// I want to "sleep"/hang executing during several seconds
// and only then run the rest of function's body
querySelect('#loading').remove();
...other functions and actions...
}
我知道有一段Timer
类可以在一段时间后进行回调,但它仍然无法阻止整个程序的执行。
答案 0 :(得分:3)
无法停止执行。您可以使用Timer或Future.delayed,也可以只使用无限循环,该循环仅在经过一段时间后结束。
答案 1 :(得分:1)
如果你想要停止世界睡眠功能,你可以完全自己做。我会提到我不建议你这样做,阻止这个世界是个坏主意,但如果你真的想要它:
void sleep(Duration duration) {
var ms = duration.inMilliseconds;
var start = new DateTime.now().millisecondsSinceEpoch;
while (true) {
var current = new DateTime.now().millisecondsSinceEpoch;
if (current - start >= ms) {
break;
}
}
}
void main() {
print("Begin.");
sleep(new Duration(seconds: 2));
print("End.");
}