gpt4 book ai didi

flutter - 如何使用 future 延迟

转载 作者:行者123 更新时间:2023-12-05 01:09:19 29 4
gpt4 key购买 nike

我有两个功能。我想一个一个地运行它们,但是当第一个函数完成时,第二个函数必须等待 1-2 秒。我为此尝试了 Future.delayed ,但它没有用。它没有任何改变。

void kartat(int tip, int deger, int mainid, List mycards) {
masadakicards.add(cardbank[mainid]);
print("kart atıldı");
rakipkartat(51);

}

void rakipkartat(int mainid) {
new Future.delayed(Duration(seconds: 1), () {
// deleayed code here
masadakicards.add(cardbank[mainid]);
print("ann");
});
}

最佳答案

实现此目的的一种方法是使用 await Future.delayed

确保你的方法返回一个 Future

Future<void> start() async {
await foo();
await Future.delayed(Duration(seconds: 2));
await bar();
}

Future<void> foo() async {
print('foo started');
await Future.delayed(Duration(seconds: 1));
print('foo executed');
return;
}

Future<void> bar() async {
print('bar started');
await Future.delayed(Duration(seconds: 1));
print('bar executed');
return;
}

预期:

foo started
- waits 1 second -
foo executed
- waits 2 seconds -
bar started
- waits 1 second -
bar executed

遵循你的方法

请注意,延迟后执行的方法也需要包含asyncawait,否则方法会同步运行,不会等待Future。

Future<void> start() async {
foo();
}

void foo() {
Future.delayed(Duration(seconds: 2), () async {
// do something here
await Future.delayed(Duration(seconds: 1));
// do stuff
});
}

关于flutter - 如何使用 future 延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65314297/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com