我想要一个循环,在每次迭代后等待一段时间。我正在尝试使用计时器进行等待,但计时器永远不会返回,所以下面的代码只运行一次,然后永远等待。当我删除计时器条件时,代码成功执行。没有错误,它只是等待......
任何帮助表示赞赏!
@override
public void doWorkflow() {
validate("test", 1);
}
@Asynchronous
private void validate(String id, int retries, Promise<?>... waitFor) {
Promise<Boolean> isValid = activityClient.validate(id);
doWork(id, retries, isValid);
}
@Asynchronous
private void doWork(String id, int retries, Promise<Boolean> isValid) {
if (!isValid.get()) {
return;
}
Promise<Void> waitFor = decisionContext.getWorkflowClock().createTimer(5);
validate(id, retries - 1, waitFor);
}