Có một giải pháp nhưng không dễ dàng (ví dụ: bạn không thể lật một thông số duy nhất để làm cho nó hoạt động). GWT đang sử dụng JS XMLHttpRequest bình thường dưới mui xe. Trong GWT, có một loại lớp phủ cho nó được gọi là com.google.gwt.xhr.client.XMLHttpRequest. Lớp này được sử dụng để gửi yêu cầu đến máy chủ qua HTTP. Mỗi JS XMLHttpRequest được khởi tạo đầu tiên bằng cách gọi phương thức mở. Phương thức này có vài tham số, nhưng tham số thứ ba chỉ định nếu yêu cầu không đồng bộ. Nếu bạn thay đổi thành false, yêu cầu sẽ được đồng bộ.
Nhưng GWT-RPC không trực tiếp sử dụng lớp này, nó sử dụng nó thông qua RpcRequestBuilder và lớp này cũng không sử dụng trực tiếp XMLHttpRequest, nó đang sử dụng RequestBuilder.
Vì vậy, những gì bạn cần làm là tạo phiên bản tùy chỉnh RpcRequestBuilder và RequestBuilder (sẽ sử dụng XMLHttpRequest được khởi tạo để đồng bộ).
Bạn có thể đặt trình tạo RPCRequest thành cá thể dịch vụ GWT-RPC của bạn bằng cách truyền nó tới ServiceDefTarget.
Bạn vẫn muốn có yêu cầu GWT-RPC đồng bộ không?
Không làm điều đó. Tìm một giải pháp không đồng bộ cho vấn đề của bạn là tốt hơn. –
"Trước hết, tôi biết rằng thực hiện một cuộc gọi đồng bộ là" sai ", và biết rằng" là không thể "." – caarlos0
Có thể, nhưng nó không phải là dễ dàng, bạn có thực sự muốn làm điều đó? – jusio