我正在尝试熟悉AWS Workflows和Promises。 我有一个清单:
(int)Math.Round()
评估功能:
List<Promise<ClassA>> classA= someSet.stream()
.filter()
.map(/*Insert call activity*/)
.collect(Collectors.toList());
Promise<Void> waitForPromises = new AndPromise(
doSomething(classA),
.
.Some other functions);
facts = /*do Some processing*/
Promise<ClassB<EnumA>> actions = ActivityB.evaluate(facts, waitForPromises);
performActions(actions, facts, classA);
现在如果我没有修改classA中的值,我可以将performActions的定义改为:
evaluate(Facts facts, Promise<?>... waitFor)
;
但是现在我需要确保在调用performActions之前performActions(Promise<ClassB<EnumA>> actions, Facts facts, @Wait List<Promise<ClassA>> classA)
由于在classA
中执行的操作而具有更新的值。
答案 0 :(得分:0)
这会有用吗?
List<Promise<ClassA>> classA= someSet.stream()
.filter()
.map(/*Insert call activity*/)
.collect(Collectors.toList());
Promise<List<ClassA>> somethingP = doSomething(classA)
Promise<Void> waitForPromises = new AndPromise(
somethingP,
.
.Some other functions);
facts = /*do Some processing*/
Promise<ClassB<EnumA>> actions = ActivityB.evaluate(facts, waitForPromises);
performActions(actions, facts, somethingP);
perfomActions的签名是:
performActions(Promise<ClassB<EnumA>> actions, Facts facts,
Promise<List<ClassA>> somethingP);
编辑:更新了doSomething以返回Promise&lt; List&lt; ClassA&gt;&gt;