0

我正在使用 play 1.2.5,并且我正在对 REST 服务进行异步调用。

为此,我创建了一个 Promise 对象,然后将此 Promise 对象作为参数提供给 await() 方法。await() 方法返回给我一个 httpResponse 对象。

它工作正常,然后 REST 服务返回响应。但是如果 REST 服务没有响应(可能是因为 REST 服务已关闭),那么我在 httpResponse 中得到一个空值。但是需要一些时间才能得到回复。

我可以配置等待其余服务响应承诺的时间吗?如果不是,那么默认等待时间是多少?

任何帮助将不胜感激

4

2 回答 2

1

如果您使用 play WS lib,您在 WSRequest 对象上有一个 timeout 方法,您可以在其中定义在没有响应的情况下调用返回之前所花费的时间(以秒为单位)

于 2013-01-10T06:29:41.600 回答
0

WSRequest 上有一个超时调用。

WS.WSRequest wsReq = WS.url("http://whatever");
wsReq.timeout("1min");

...

当你做 apostAsync()时,你会得到一个承诺。您还可以调用promise.onRedeem()添加处理程序来处理错误等。您可以使用它来捕获超时异常。

于 2013-01-11T00:44:11.680 回答