Or how easy it is to implement interactive apps and how we got here.
<script type="text/javascript" language="JavaScript">
function processUpdates(updates) {
// ...
document.write('<script src="/updates/js" type="text/javascript" language="JavaScript"></script>');
}
</script>
<script src="/updates/js" type="text/javascript" language="JavaScript"></script>
var req = new XMLHttpRequest();
req.open('GET', '/updates/xhr', true); // async
req.onreadystatechange = function() {
// ...
};
req.send();
req.onreadystatechange = function() {
if (req.readyState === 4) {
if (req.status === 200) {
// Process the response and...
poll();
} else {
setTimeout(poll, 5000);
}
}
}
const updates = new EventSource('/updates/sse');
updates.onmessage = function(data) {};
const socket = new WebSocket('/updates/ws');
socket.addEventListener('message', myMessageHandler);
socket.addEventListener('open', function() {
socket.send('hey, got any data?');
});
socket.addEventListener('error', function(error) {
// Oops...
});
socket.open();