Tôi có đoạn code sau js:cách chờ đăng ký được thiết lập?
stompClient.subscribe('/topic/clients', function (calResult) {
updateClientsTable(JSON.parse(calResult.body));
});
$.get("/clients", null);
và sau mã máy chủ (dòng cuối cùng gọi nó):
@GetMapping(value = {"/clients"})
@ResponseBody
public void loadClients() {
brokerMessagingTemplate.convertAndSend("/topic/clients", clientService.getClientList());
}
Đôi khi front-end nhớ kết quả của $.get("/clients", null);
Như tôi hiểu vấn đề : tại thời điểm kết quả nhận được trên giao diện người dùng, đăng ký không xảy ra.
nếu đặt $.get("/clients", null);
bên dưới mã - tất cả đều hoạt động tốt.
Bạn có thể giải thích cách chờ đăng ký được thiết lập không?
Tôi cho rằng bạn đã có kết nối stomp hoạt động được thiết lập qua.connect() nhưng thuê bao sau đó không nhận được tin nhắn cho đến khi bạn truy vấn host một lần? STOMP không cung cấp gọi lại cho đăng ký "thành công". – DooMMasteR
Nó không tái tạo một cách kín đáo. Tôi không hiểu cụm từ: ** cho đến khi bạn truy vấn máy chủ một lần ** – gstackoverflow