IDBObjectStore: phương thức getKey()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
Note: This feature is available in Web Workers.
Phương thức getKey() của giao diện IDBObjectStore trả về một đối tượng IDBRequest, và, trong một luồng riêng biệt, trả về khóa được chọn theo truy vấn được chỉ định. Phương thức này dùng để truy xuất các bản ghi cụ thể từ một object store.
Nếu một khóa được tìm thấy thành công, thì một bản sao có cấu trúc của nó được tạo và đặt làm kết quả của đối tượng request.
Cú pháp
getKey(key)
Tham số
key-
Khóa hoặc phạm vi khóa xác định bản ghi cần truy xuất.
Giá trị trả về
Một đối tượng IDBRequest mà các sự kiện tiếp theo liên quan đến thao tác này sẽ được kích hoạt trên đó.
Nếu thao tác thành công, giá trị của thuộc tính result của request là khóa của bản ghi đầu tiên khớp với khóa hoặc phạm vi khóa đã cho.
Ngoại lệ
Phương thức này có thể gây ra một DOMException thuộc một trong các loại sau:
InvalidStateErrorDOMException-
Được ném nếu
IDBObjectStoređã bị xóa hoặc loại bỏ. TransactionInactiveErrorDOMException-
Được ném nếu giao dịch của
IDBObjectStorenày không hoạt động. DataErrorDOMException-
Được ném nếu khóa hoặc phạm vi khóa được cung cấp chứa một khóa không hợp lệ.
Ví dụ
let openRequest = indexedDB.open("telemetry");
openRequest.onsuccess = (event) => {
let db = event.target.result;
let store = db.transaction("net-logs").objectStore("net-logs");
let today = new Date();
let yesterday = new Date(today);
yesterday.setDate(today.getDate() - 1);
let request = store.getKey(IDBKeyRange(yesterday, today));
request.onsuccess = (event) => {
let when = event.target.result;
alert(`The 1st activity in last 24 hours was occurred at ${when}`);
};
};
Đặc tả kỹ thuật
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-getkey①> |
Tương thích trình duyệt
Xem thêm
- Sử dụng IndexedDB
- Bắt đầu giao dịch:
IDBDatabase - Sử dụng giao dịch:
IDBTransaction - Thiết lập phạm vi khóa:
IDBKeyRange - Truy xuất và thay đổi dữ liệu của bạn:
IDBObjectStore - Sử dụng con trỏ:
IDBCursor - Ví dụ tham khảo: To-do Notifications (Xem ví dụ trực tiếp).