Открытие нескольких соединений (одно за другим закрыто и т. Д. c) возможно в рамках одной и той же "сессии" (что вы подразумеваете под сессией?).
Например:
function open(name) {
return new Promise((resolve, reject) => {
const request = indexedDB.open(name);
request.onsuccess = event => resolve(request.result);
request.onerror = event => reject(request.error);
});
}
async function main() {
for (let i = 0; i < 10; i++) {
console.log('Opening database connection', i);
const connection = await open('mydb');
console.log('Database connection %s opened to', i, connection.name);
// do stuff with the connection here
console.log('Requesting database connection %s to close eventually', i);
connection.close();
}
}
main().catch(console.error);