I am currently using Node.js to handle the back-end of my website but I am unsure of how Websockets/Objects are handled together.
This is a template I am using as an example of my main class. (Sends web-requests to a specific page)
class ViewClass {
constructor(URL, views) {
this.link = URL;
this.views = views;
this.make_requests();
}
make_requests() {
try {
const XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
const xhr = new XMLHttpRequest();
let link = this.link;
let views = this.views;
for (let index = 1; index < views + 1; index++) {
xhr.open("GET", link, false);
xhr.onload = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
console.log("View: " + index + " Sent Successfully!");
} else {
console.error("View: " + index + " Failed!");
}
}
};
xhr.send(null);
}
} catch (error) {
console.log(error.message);
}
}
}
This is my Main Websocket File (Stripped for simplicity)
server.on('connection', function (socket) {
console.log("Welcomed Connection from: " + socket.remoteAddress);
socket.on('close', function (resp) {
console.log(`[${GetDate(3)}] Bye!`);
});
socket.on('data', function (buf) {
// Take Views/URL from Front-end.
// Initialise a new Object from ViewClass and let it run until finished.
});
});
Lets say I receive data from the WebSocket and that data creates a new ViewClass object and starts running immediately. Will that Now Running code block the input/output of the Node.js Server? Or will it be handled in the background?
If there is any information I can provide to make it clearer let me know as I am extremely new to Websocket/Js and I am more than likely missing information.