IDBRequest: readyState 属性

注意: 此功能在 Web Workers 中可用。

readyStateIDBRequest 接口的只读属性,它返回请求的状态。

每个请求都从 pending 状态开始。当请求成功完成或发生错误时,状态将变为 done

以下字符串之一

pending

如果请求仍在进行中,则返回。

done

如果请求已完成,则返回。

示例

以下示例请求给定的记录标题 onsuccessIDBObjectStore(作为 objectStoreTitleRequest.result 提供)获取关联的记录,更新记录的一个属性,然后将更新后的记录放入另一个请求中的对象存储中。第二个请求的 readyState 被记录到开发者控制台中。有关完整的有效示例,请参阅我们的 待办事项通知 应用程序 (查看实时示例)。

js
const title = "Walk dog";

// Open up a transaction as usual
const objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// Get the to-do list object that has this title as its title
const objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = () => {
  // Grab the data object returned as the result
  const data = objectStoreTitleRequest.result;

  // Update the notified value in the object to "yes"
  data.notified = "yes";

  // Create another request that inserts the item
  // back into the database
  const updateTitleRequest = objectStore.put(data);

  // Log the readyState of this request
  console.log(
    `The readyState of this request is ${updateTitleRequest.readyState}`,
  );

  // When this new request succeeds, run the displayData()
  // function again to update the display
  updateTitleRequest.onsuccess = () => {
    displayData();
  };
};

规范

规范
Indexed Database API 3.0
# ref-for-dom-idbrequest-readystate①

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅