IDBFactory: phương thức deleteDatabase()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
Phương thức deleteDatabase() của giao diện IDBFactory yêu cầu xóa một cơ sở dữ liệu. Phương thức này ngay lập tức trả về một đối tượng IDBOpenDBRequest và thực hiện thao tác xóa một cách bất đồng bộ.
Nếu cơ sở dữ liệu được xóa thành công, một sự kiện success sẽ được kích hoạt trên đối tượng yêu cầu được trả về từ phương thức này, với result được đặt thành undefined. Nếu xảy ra lỗi trong khi cơ sở dữ liệu đang bị xóa, một sự kiện error sẽ được kích hoạt trên đối tượng yêu cầu được trả về từ phương thức này.
Khi deleteDatabase() được gọi, mọi kết nối đang mở khác tới cơ sở dữ liệu cụ thể này sẽ nhận được sự kiện versionchange.
Cú pháp
// Với chuẩn hiện tại:
deleteDatabase(name)
// Với phiên bản thử nghiệm có `options` (xem bên dưới):
deleteDatabase(name)
deleteDatabase(name, options)
Tham số
name-
Tên của cơ sở dữ liệu bạn muốn xóa. Lưu ý rằng việc cố xóa một cơ sở dữ liệu không tồn tại sẽ không ném ra ngoại lệ, trái ngược với
IDBDatabase.deleteObjectStore(), vốn sẽ ném ngoại lệ nếu object store được đặt tên không tồn tại. optionsOptional Non-standard-
Trong Gecko, kể từ phiên bản 26, bạn có thể thêm một tham số lưu trữ tùy chọn không chuẩn để chỉ định bạn muốn xóa IndexedDB
permanent(giá trị mặc định) hay một IndexedDB trong bộ nhớtemporary(còn gọi là shared pool).
Giá trị trả về
Một IDBOpenDBRequest mà trên đó các sự kiện tiếp theo liên quan đến yêu cầu này sẽ được kích hoạt.
Nếu thao tác thành công, giá trị của thuộc tính result của yêu cầu là null.
Ví dụ
const DBDeleteRequest = window.indexedDB.deleteDatabase("toDoList");
DBDeleteRequest.onerror = (event) => {
console.error("Lỗi khi xóa cơ sở dữ liệu.");
};
DBDeleteRequest.onsuccess = (event) => {
console.log("Cơ sở dữ liệu đã được xóa thành công");
console.log(event.result); // nên là undefined
};
Thông số kỹ thuật
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbfactory-deletedatabase①> |
Tương thích trình duyệt
Xem thêm
- Dùng IndexedDB
- Bắt đầu transaction:
IDBDatabase - Dùng transaction:
IDBTransaction - Thiết lập một phạm vi khóa:
IDBKeyRange - Truy xuất và thay đổi dữ liệu của bạn:
IDBObjectStore - Dùng cursor:
IDBCursor - Ví dụ tham khảo: To-do Notifications (Xem ví dụ trực tiếp).