IDBRequest:source 属性
注意: 此功能在 Web Workers 中可用。
IDBRequest
接口的只读属性 source
返回请求的来源,例如索引或对象存储。 如果不存在源(例如,调用 IDBFactory.open
时),它将返回 null。
价值
表示请求来源的对象,例如 IDBIndex
、IDBObjectStore
或 IDBCursor
。
示例
以下示例请求给定的记录标题 onsuccess
从 IDBObjectStore
(作为 objectStoreTitleRequest.result
提供)中获取关联的记录,更新记录的一个属性,然后将更新后的记录放入另一个请求中的对象存储中。 第二次请求的来源将记录到开发者控制台中。 有关完整的运行示例,请参阅我们的 待办事项通知 应用程序 (查看示例直播 )。
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 source of this request
console.log(`The source of this request is ${updateTitleRequest.source}`);
// 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-source① |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。
另请参见
- 使用 IndexedDB
- 启动事务:
IDBDatabase
- 使用事务:
IDBTransaction
- 设置键范围:
IDBKeyRange
- 检索和更改数据:
IDBObjectStore
- 使用游标:
IDBCursor
- 参考示例:待办事项通知 (查看示例直播 )。