gpt4 book ai didi

dart - 执行 future 直到参数变为真

转载 作者:行者123 更新时间:2023-12-03 03:13:34 40 4
gpt4 key购买 nike

我向将来带有“requestServer”的服务器启动请求。
我想轮询系统以获取特定值(请求完成时从false传递到true),并在完成时返回。

代码可能像这样,但是“同时”同步和“checkOperation”是异步的吗?

return requestServer().then((operation) {
var done = false;
while (done)
return checkOperation(operation).then((result) {
done = (result == true);
});
sleep(10);
}
});

有任何想法吗 ?

最佳答案

我猜这不是您想要的,但据我所知,没有办法阻止执行,因此您必须使用回调。

void main(List<String> args) {

// polling
new Timer.periodic(new Duration(microseconds: 100), (t) {
if(isDone) {
t.cancel();
someCallback();
}
});

// set isDone to true sometimes in the future
new Future.delayed(new Duration(seconds: 10), () => isDone = true);
}

bool isDone = false;

void someCallback() {
print('isDone: $isDone');
// continue processing
}

您当然可以将回调作为参数传递,而不是对其进行硬编码,因为函数是Dart中的一等成员。

关于dart - 执行 future 直到参数变为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332326/

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