如果未使用promiseArg
,使用什麼要點?
如果您希望它們依賴於prev方法調用,請創建一個Asynchronous method
並使用promise variable
調用該方法。
//Main method of decider.
Promise<Integer> promiseArg = null;
Promise<Integer> nextArg = activityClient.activity1(i, 1);
for(Integer i : IntegerList){
Promise<Integer> nextArg = fun(nextArg, Promise.asPromise(i));
}
@Asynchronous
public Promise<Integer> fun(Promise<int> nextArg, int i) {
System.out.println("Testing with current value: " + Integer.toString(nextArg.get()));
return activityClient.activity1(i, nextArg.get());
}
我還沒有測試過它,但它應該可以工作。
除此之外,您還可以嘗試在活動聲明中將prev Promise variable
傳遞到活動本身@Wait annotation
。
這樣的事情,
prevArgs = activityClient.activity1(i, prevArg));
與活動一樣,
XYZ activity1(int i,@Wait Promise<int> prevArgs){
//Please check if int should be used instead of Promise<int>
}
這可能更有意義,通過承諾活動本身(即'承諾= activityClient.activity1(I,承諾)')。 – 2012-08-06 21:33:59