如何使用GWT通过javascript创建对rest的同步调用?

如何使用GWT通过javascript创建对rest的同步调用?,gwt,resty-gwt,Gwt,Resty Gwt,我正在对一个web服务进行REST调用,该web服务托管在与我的GWT客户端javascript不同的服务器上,该客户端javascript的响应需要在UI上捕获和呈现。我是通过resty-gwt实现的。但是,当从html调用javascript方法时,我无法在实例中捕获该响应,而html反过来调用rest调用。另外,我想确保,如果我从javascript一个接一个地调用两个调用,然后调用rest调用,那么第二个调用仅在第一个调用完成时进行。有没有办法达到同样的效果?我认为在你的问题中有两个不同

我正在对一个web服务进行REST调用,该web服务托管在与我的GWT客户端javascript不同的服务器上,该客户端javascript的响应需要在UI上捕获和呈现。我是通过resty-gwt实现的。但是,当从html调用javascript方法时,我无法在实例中捕获该响应,而html反过来调用rest调用。另外,我想确保,如果我从javascript一个接一个地调用两个调用,然后调用rest调用,那么第二个调用仅在第一个调用完成时进行。有没有办法达到同样的效果?

我认为在你的问题中有两个不同的问题:

A无法捕获该响应

创建一系列调用

作为一个例子,你应该给我们更多的信息,代码片段。你的问题与你的健康有关吗

以下是我的建议

如果您使用的是两个异步调用,则无法确定其中一个将在第二个调用之前返回。然而,您可以以不同的方式实现某种同步

我有两个选择

1等待第一个呼叫返回以启动第二个呼叫。这意味着在onSuccess中发送第二个调用,也可能在onFailure中发送,具体取决于第一个调用的逻辑

此选项在性能方面不是最佳的,因为在发送第二个请求之前,您可能需要等待不必要的时间。这取决于您是否需要来自第一个请求的答案的信息来发送第二个请求

2独立发送两个电话。然后,在每个调用的onSuccess方法中保存一个布尔值ok1和ok2。在2个onSuccess方法中调用相同的方法ex:afterBothSuccess

在该方法中,检查ok1和ok2的值

if (ok1 && ok2) 
//here you are guaranteed that both your calls have returned with success

该问题与CORS有关,因为请求得到了顺利响应。我想让用户进行下一次调用,但除非第一次请求得到满足,否则将阻止第二次调用。抱歉,我不理解您的评论。我的实际问题是通过jsni方法捕获成功和失败响应,这是现在解决的另一种方式:谢谢你的建议顺便说一句!