Veritabanı açma
indexedDB.open ile bir veritabanı açmayı ve versiyon değişimini öğrenirsin.
Veritabanını açmak
Bir IndexedDB veritabanını indexedDB.open(name, version) ile açarsın. name veritabanının adı, version ise bir tamsayıdır. Veritabanı yoksa oluşturulur, varsa belirtilen sürümle açılır.
const request = indexedDB.open('NotesDB', 1);Çağrı bir IDBOpenDBRequest nesnesi döndürür. İşlem tamamlanınca onsuccess, hata oluşursa onerror, yapı değişince onupgradeneeded tetiklenir.
İstek olayları
Açma isteğinin sonucunu olay dinleyicileriyle yakalarsın. request.onsuccess veritabanı başarıyla açılınca, request.onerror bir hata oluşursa, request.onupgradeneeded ise yapı değişince çalışır.
request.onsuccess = function(event) {
const db = event.target.result;
};Olay nesnesinin target.result özelliği açık olan IDBDatabase örneğini verir; sonraki işlemlerde bunu kullanırsın.
Uygulama NotesDB'yi aç ve dinleyicileri ata
indexedDB.open ile 'NotesDB' veritabanını sürüm 1 ile aç ve request değişkenine ata. request.onsuccess, request.onerror ve request.onupgradeneeded'a birer fonksiyon ata. onerror içinde console.log ile 'error' yazdır.
Örnek çözümü göster
const request = indexedDB.open('NotesDB', 1);
request.onsuccess = function(event) {};
request.onerror = function(event) {
console.log('error');
};
request.onupgradeneeded = function(event) {};
Kendini test et
-
onupgradeneeded olayı ne zaman tetiklenir?
- Yalnızca veritabanı ilk açıldığında
- Veritabanı sürümü değiştiğinde ya da ilk oluşturulduğunda
- Her veri ekleme işleminden sonra
- Tarayıcı kapatılınca
Cevabı göster
Veritabanı sürümü değiştiğinde ya da ilk oluşturulduğunda — Doğru! onupgradeneeded yapı değişikliği için tek güvenli yerdir.
-
Veritabanını sürüm 2 ile aç
const request = indexedDB.____('NotesDB', 2);Cevabı göster
const request = indexedDB.open('NotesDB', 2); -
Olayları anlamlarıyla eşleştir
- onsuccess
- işlem başarılı
- onerror
- hata oluştu
- onupgradeneeded
- sürüm değişti
- target.result
- veritabanı örneği