我正在对托管在不同服务器上的web服务进行REST调用,而不是GWT客户端javascript,它的响应需要捕获并呈现在UI上。我通过resty-gwt完成此操作。但是当从html调用javascript方法时,我无法捕获实例的响应,这反过来又调用了rest调用。此外,我还希望确保,如果我从javascript中依次调用两个调用(这两个调用依次调用rest调用),则仅在第一个调用完成时才进行第二个调用。有没有办法做到这一点呢?
发布于 2014-04-23 15:18:45
我认为你的问题有两个不同的问题:
A)无法捕获该响应
B)创建调用序列
A)你应该给我们更多的信息,代码片段。您的问题是否与CORS有关?
对于B)以下是我的建议
如果你使用的是2个异步调用,就没有办法保证一个会在第二个异步调用之前返回。然而,您可以以不同的方式实现某种同步。
我看到两个选项
1)等待第一次调用返回,启动第二次调用。这意味着在第一个调用的onSuccess (也可能是onFailure内部,这取决于您的逻辑)内发送第二个调用。
此选项在性能方面不是最优的,因为在发送第二个请求之前,您可能需要等待不必要的时间。这取决于您是否需要从第一个请求的答案中获取一些信息来发送第二个请求。
2)两个呼叫独立发送。然后,在每次调用的onSuccess方法中保存一个布尔值(ok1和ok2)。在两个onSuccess方法内部调用相同的方法ex:afterBothSuccess()
在此方法中,检查ok1和ok2的值
if (ok1 && ok2)
//here you are guaranteed that both your calls have returned with successhttps://stackoverflow.com/questions/23210008
复制相似问题