我认为我的问题有一个直接的答案,我似乎无法找到它。
我有一个基本的工作流程:
private void doWorkflow() {
Promise<Boolean> result = activityClient.checkSomething();
if (result.get() == true) {
//exit
}
activityClient.doSomething();
}
第一个问题是我似乎无法在工作流程中获得结果。我必须转到@asynchronous方法来获得结果。其次,如果我使用@asynchronous方法确定是否应该提前退出,那么我将回到原点,因为@asynchronous方法需要返回一个promise。
提前致谢
答案 0 :(得分:0)
我会将您的代码重写为:
private void doWorkflow() {
Promise<Boolean> result = activityClient.checkSomething();
doSomething(result);
}
@Asynchronous
private void doSomething(Promise<Boolean> flag) {
if (!flag.get()) {
activityClient.doSomething();
}
}
如果您不想使用@Asynchronous方法,可以直接使用Task:
private void doWorkflow() {
final Promise<Boolean> result = activityClient.checkSomething();
new Task(result) {
public void do Execute() {
if (!result.get()) {
activityClient.doSomething();
}
}
};
}