-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
31 lines (24 loc) · 960 Bytes
/
Copy pathscript.js
File metadata and controls
31 lines (24 loc) · 960 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const evtSource = new EventSource("http://localhost:8000/sse");
const eventList = document.getElementById("list");
const statusElement = document.getElementById("status");
let messageCount = 0;
const TOTAL_MESSAGES = 5;
evtSource.onmessage = (event) => {
messageCount += 1;
const newElement = document.createElement("li");
newElement.textContent = event.data;
eventList.appendChild(newElement);
statusElement.textContent = `Received ${messageCount} of ${TOTAL_MESSAGES} messages`;
if (messageCount >= TOTAL_MESSAGES) {
statusElement.textContent = "All messages received. Closing connection.";
evtSource.close();
}
};
evtSource.onerror = () => {
if (messageCount >= TOTAL_MESSAGES) {
statusElement.textContent = "Stream finished.";
return;
}
statusElement.textContent = "Connection error. Check that the server is running on port 8000.";
console.error("EventSource failed");
};