How do I make timeouts for different users in Node JS?
-
I am making a telegram bot on Node, the essence of which is to create timers for users. The user can stop the timer at any time. How do I get him to clear his timer?
My decision as a novice developer. Created an array, into which I add the {user_id, timeout} object when creating a timer. And when the user clicks on the stop, I make a clearTimeout for the desired object and then delete the object itself from the array.
function clearUserTimeout(user_id) { const indexOfTimeout = timeouts.findIndex(item => item.user_id === user_id) if (indexOfTimeout !== -1) { clearTimeout(timeouts[indexOfTimeout].timeout) timeouts.splice(indexOfTimeout, 1) } }
How to do it right?JavaScript Lydia Lynn, May 18, 2019 -
I would store in the object not timer objects, but only the time in UNIX, at the moment the user should stop the timer and make 1 common timer, which every second (1.5-2) runs through the objects and checks the time specified there, checks with the current and if it is less than the current one, it sends a message to the user and ends its timer by changing some bool variable, or simply by specifying the time to null.Anonymous
1 Answers
Your Answer
To place the code, please use CodePen or similar tool. Thanks you!