JSFiddle - React, Tailwind, and code Playground
JavaScript
let timeout = 10000 - (new Date().getTime() % 10000);
let tab = Math.random();
console.log(timeout / 1000, 's timeout, then writing:', tab);
setTimeout(function() {
localStorage.setItem('tab', tab);
console.log(localStorage.getItem('tab'));
setTimeout(function() {
console.log(localStorage.getItem('tab'));
if (JSON.parse(localStorage.getItem('tab')) === tab) {
console.log('aquired lock');
} else {
console.log('did not aquire lock');
}
}, 1000);
}, timeout);