我想创建一个类,该类可以运行方法,直到满足返回值的条件。Java 8 - 重试一个方法,直到满足条件(间隔)
它应该是这个样子
methodPoller.poll(pollDurationSec, pollIntervalMillis)
.method(dog.bark())
.until(dog -> dog.bark().equals("Woof"))
.execute();
我的方法轮询看起来有点像这样()//以下GuiSim答案
public class MethodPoller {
Duration pollDurationSec;
int pollIntervalMillis;
public MethodPoller() {
}
public MethodPoller poll(Duration pollDurationSec, int pollIntervalMillis) {
this.pollDurationSec = pollDurationSec;
this.pollIntervalMillis = pollIntervalMillis;
return this;
}
public <T> MethodPoller method(Supplier<T> supplier) {
return this;
}
public <T> MethodPoller until(Predicate<T> predicate) {
return this;
}
}
,但我有一个很难从这里OPN去。
如何在一个条件满足之前实现对一般方法的重试?
谢谢。
那么,关于方法本身,您可以引用目标对象,其反映的方法和所需的参数。你也可以将它封装在一个lambda中,但是这绝对取决于该方法是如何传递的 - 显式地或者发现的?什么参数? –
@rails如果我提供的答案满足您,请接受它。如果您还有其他问题,请不要犹豫。 – GuiSim