Разрешено только одно javascript соединение IndexedDb на сеанс браузера? - PullRequest
0 голосов
/ 09 апреля 2020

Мне трудно поверить, что javascript соединение с indexedDb не может быть установлено, закрыто, а затем восстановлено на одной вкладке javascript экземпляр / браузер (ie. Нет страницы браузера, ссылка sh или закрытие текущая вкладка). Однако когда я читаю спецификации вроде https://w3c.github.io/IndexedDB/#close -a-database-connection , это звучит так, как будто это так. Кому-нибудь повезло, закрыв соединение indexedDb и восстановив БЕЗ закрытия вкладки браузера или жесткой страницы refre sh? Если да, то как ты это сделал?

1 Ответ

0 голосов
/ 10 апреля 2020

Открытие нескольких соединений (одно за другим закрыто и т. Д. 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);

...