JSFiddle - React, Tailwind, and code Playground
JavaScript
function log(m) {
document.body.
appendChild(document.createElement('div')).
appendChild(document.createTextNode(m));
}
var name = 'db' + Date.now();
log('blocking queue...');
indexedDB.open(name, 1).onsuccess = function(e) {
log('unblocking queue...');
e.target.result.close();
};
// Clear the slate - this implicitly blocks all later opens
indexedDB.deleteDatabase(name).onsuccess = function() {
log('deleted');
};
function requestOpen(v) {
var r = indexedDB.open(name, v);
function listener(e) {
log('version ' + v + ' - ' + e.type);
}
r.onblocked = listener;
r.onsuccess = listener;
r.onerror = listener;
return r;
};
window.r1 = requestOpen(1);
window.r2 = requestOpen(2);
window.r3 = requestOpen(3);