【发布时间】:2013-07-18 03:10:21
【问题描述】:
我想将Promise<WS.HttpResponse> 的集合传递给promise 的waitAll。例如,我不想传递r1、r2 和r3,而是将其添加到列表或集合中并将它们传递给waitAll。请帮忙
公共类 AsyncTest 扩展控制器 {
public static void remoteData() {
F.Promise<WS.HttpResponse> r1 = WS.url("http://example.org/1").getAsync();
F.Promise<WS.HttpResponse> r2 = WS.url("http://example.org/2").getAsync();
F.Promise<WS.HttpResponse> r3 = WS.url("http://example.org/3").getAsync();
F.Promise<List<WS.HttpResponse>> promises = F.Promise.waitAll(r1, r2, r3);
// Suspend processing here, until all three remote calls are complete.
List<WS.HttpResponse> httpResponses = await(promises);
render(httpResponses);
}
}
【问题讨论】:
-
sooo...您要合并列表吗?这就是你的要求?
-
@LiranElisha 我想合并reposnse,因为它们可能超过3,可能像180,如果我必须创建r1,r2,r3,r4,r5,r6.. .. r180。我将动态创建所有承诺请求,因此我想将一个集合传递给 F.Promise.waitAll(somecollection)。我很难创建对 Promise.waitAll 方法的响应集合
标签: java playframework playframework-2.0 future promise