为什么我的 IndexedDB 保存功能不起作用?

问题描述 投票:0回答:0

我正在制作边缘网络扩展游戏,我已经完成了游戏,所以现在我必须进行存储。 我将使用 IndexedDB,因为 webSQL 很快将不再可用。 我做了一个保存功能,但是我得到了一个错误。

这是每2秒调用一次保存函数的函数:

function init() {
  const data = { 
  money: money, 
  monkey: monkey 
  };
  setInterval(function() {
  saveGameData("myDatabase", "store", data); }, 2000);
}

这是保存功能:

function saveGameData(databaseName, storeName, data) {
  // Open the database
  const request = indexedDB.open(databaseName, 1);
  
  request.onerror = function() {
    console.error("Database error:", request.error);
  };
  
  request.onsuccess = function() {
    const db = request.result;
    
    // Start a transaction and get the object store
    const transaction = db.transaction(storeName, "readwrite");
    const objectStore = transaction.objectStore(storeName);
    
    // Save the data to the object store
    const saveRequest = objectStore.put(data);
    
    saveRequest.onerror = function() {
      console.error("Error saving data:", saveRequest.error);
    };
    
    saveRequest.onsuccess = function() {
      console.log("Data saved successfully");
    };
  };
}

这是我得到的错误:

未捕获的 NotFoundError:无法在“IDBDatabase”上执行“事务”:找不到指定的对象存储之一。

错误来自这一行:

const transaction = db.transaction(storeName, "readwrite");

microsoft-edge web-extension webextension-storage
© www.soinside.com 2019 - 2024. All rights reserved.