I am currently writing a small JavaScript program that primarily interacts with Steam. For this, it is essential that my program maintains a persistent connection to Steam, as function calls and other operations would fail if the connection is lost, causing the program to crash.
That's exactly why I want to pause / block the execution of my code as soon as the connection to Steam is lost, and wait until it is re-established before continuing with any line inside my code.
How can my code detect that the connection has failed?
I am using a Node.js module called steamuser, which already handles the re-login process. This means I receive an event like this:
this.client.on("disconnected", async (eresult, msg) => {
console.log("\x1b[31mLost connection to Steam\x1b[0m");
});
Once the connection is lost, I want to wait for the loggedOn
event to be emitted and prevent the execution of my code until the connection is restored. Here's the event listener for that:
this.client.once("loggedOn", () => {
// Code to execute once logged in again
});
How could I implement this behavior in my program?