2014-04-22 2 views
0

다른 GWT 클라이언트 자바 스크립트와 다른 서버에서 호스팅되는 웹 서비스로 REST 호출을 만들고 있는데, 응답을 캡쳐하고 UI에서 렌더링해야합니다. 나는 resty-gwt를 통해 이것을한다. 하지만 자바 스크립트 메서드가 html에서 호출되어 나머지 호출을 호출하는 인스턴스에서 해당 응답을 캡처 할 수 없습니다. 또한, 나는 자바 스크립트에서 하나씩 호출 (다른 호출을 차례로 호출)하면 두 번째 호출은 첫 번째 호출이 완료 될 때만 호출되도록하고 싶습니다. 같은 것을 성취 할 수있는 방법이 있습니까?GWT를 사용하여 자바 스크립트를 통해 동기 호출을 만들려면 어떻게해야합니까?

A에 대한

) 당신이 우리에게 더 많은 정보를 제공해야합니다

A) 해당 응답

B) 호출의 순서를 만들기를 캡처 할 수 없습니다 :

답변

0

나는 당신의 질문에 두 가지 문제가 있다고 생각 , 코드 스 니펫. 문제가 CORS에 연결되어 있습니까? 당신이 비동기를 사용하는 경우

B의 경우

는) 다음 두 번째 전에 반환 하나를 gaurantee 할 수있는 방법이 없습니다 호출 내 제안

있습니다. 그럼에도 불구하고 일종의 동기화를 다르게 할 수 있습니다.

나는 2 개 옵션

1

) 첫 번째 호출은 두 번째를 시작 반환 할 때까지 기다립니다을 참조하십시오. 첫 번째 호출의 onSuccess (및 논리에 따라 onFailure 내부)에 두 번째 호출을 보내는 것을 의미합니다.

두 번째 요청을 보내기 전에 불필요한 시간을 기다려야 할 수도 있기 때문에이 옵션은 성능면에서 최적이 아닙니다. 두 번째 요청을 보내려는 첫 번째 요청의 응답에서 오는 정보가 필요한 경우에 따라 다릅니다.

2) 두 통화를 개별적으로 보냅니다. 그런 다음 각 호출의 onSuccess 메소드 내에서 부울 (ok1 및 ok2)을 저장합니다. 2는 onSuccess 방법은 같은 방법의 예를 호출 내부 :이 방법 내부 afterBothSuccess()

을 ok1의 가치와 ok2

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

문제는 요청이 smoothly.I이를 마칠 반응하고있다으로 상시 관측소와 관련된를 확인 다음 호출을 수행하지만 첫 번째 요청이 충족되지 않으면 두 번째 호출을 차단합니다. –

+0

죄송합니다. 귀하의 의견을 이해할 수 없습니다. –

+0

실제 문제는 jsni 방법을 통해 성공 및 실패 응답을 포착하는 것이 었습니다. 대체 방법으로 해결되었습니다 :) 제안에 감사드립니다. –

관련 문제