Transaksi dan CRUD
Tambahkan, baca, perbarui, dan hapus catatan.
Transaksi dan CRUD adalah pelajaran JavaScript Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar JavaScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus JavaScript Academy mencakup 4 pelajaran total.
Semua Operasi Berlangsung dalam transaction
Dalam IndexedDB, semua pembacaan dan penulisan berlangsung di dalam transaction. Sebuah transaction mengelompokkan operasi sehingga semuanya berhasil atau semuanya dibatalkan, sehingga data tetap konsisten.
Memulai transaction
Buat transaction dengan db.transaction(storeNames, mode). Modenya adalah 'readonly' (bawaan) atau 'readwrite' untuk perubahan.
const tx = db.transaction('notes', 'readwrite');
const store = tx.objectStore('notes');Mendapatkan Penyimpanan Objek
Dari transaction, dapatkan penyimpanan objek yang ingin Anda gunakan melalui tx.objectStore(name). Semua metode untuk membuat, membaca, memperbarui, dan menghapus tersedia pada penyimpanan ini.
const tx = db.transaction('notes', 'readwrite');
const store = tx.objectStore('notes');
// store.add / get / put / deleteMenambahkan Rekaman
store.add(value) menyisipkan rekaman baru. Operasi ini gagal jika rekaman dengan kunci yang sama sudah ada, sehingga melindungi dari penimpaan yang tidak disengaja.
const store = tx.objectStore('notes');
const req = store.add({ id: 1, text: 'Buy milk' });
req.onsuccess = () => console.log('added with key', req.result);Membaca Rekaman
store.get(key) mengambil satu rekaman berdasarkan kuncinya. Hasilnya tiba pada onsuccess milik request sebagai request.result (tidak terdefinisi jika tidak ditemukan).
const req = store.get(1);
req.onsuccess = () => {
console.log('record:', req.result);
};Memperbarui dengan put
store.put(value) menyisipkan atau mengganti rekaman. Berbeda dari add, operasi ini menimpa rekaman yang sudah ada dengan kunci yang sama, sehingga ideal untuk pembaruan.
store.put({ id: 1, text: 'Buy milk and eggs' });
// Replaces the existing record with id 1.Menghapus Rekaman
store.delete(key) menghapus rekaman dengan kunci yang diberikan. Operasi ini berhasil meskipun tidak ada rekaman dengan kunci tersebut.
const req = store.delete(1);
req.onsuccess = () => console.log('deleted');Mengosongkan Penyimpanan
store.clear() menghapus semua rekaman dalam penyimpanan objek sekaligus. Gunakan untuk mengatur ulang data tembolok.
store.clear();
// All records in 'notes' are removed.Penyelesaian transaction
transaction itu sendiri memicu oncomplete saat semua operasinya telah diterapkan, dan memicu onerror atau onabort jika sesuatu gagal. Gunakan oncomplete untuk mengetahui bahwa penulisan sudah tersimpan secara permanen.
tx.oncomplete = () => console.log('all changes saved');
tx.onerror = () => console.log('transaction failed');Perilaku Penerapan Otomatis
transaction otomatis melakukan penerapan saat kontrol kembali ke loop peristiwa tanpa request yang tertunda. Anda tidak dapat mempertahankan transaction tetap terbuka selama await untuk pekerjaan asinkron yang tidak terkait; lakukan semua operasi penyimpanan secara bersamaan.
// Queue operations synchronously within the same tx:
store.add({ id: 2, text: 'A' });
store.add({ id: 3, text: 'B' });
// Both commit together when tx completes.Ringkasan CRUD
Empat operasi inti dapat dipetakan dengan jelas:
- Buat:
add - Baca:
get - Perbarui:
put - Hapus:
delete
Semuanya berlangsung di dalam transaction yang menjamin konsistensi.
Uji Cepat
Ujilah pemahaman Anda tentang transaction dan CRUD.
Ringkasan
Anda telah mempelajari transaction dan CRUD:
- Mulailah dengan
db.transaction(store, mode). - Dapatkan store dengan
tx.objectStore(name). addmenyisipkan,getmembaca,putmenyisipkan atau memperbarui, dandeletemenghapus.- Hasil tersedia melalui
onsuccesspada setiap permintaan. tx.oncompletemengonfirmasi bahwa perubahan telah disimpan.
Selanjutnya, indeks dan kueri.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Transaksi dan CRUD” gratis?
Ya — teks lengkap “Transaksi dan CRUD” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus JavaScript Academy, upgrade ke CoddyKit PRO. Kursus JavaScript Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Transaksi dan CRUD”?
Tambahkan, baca, perbarui, dan hapus catatan. Kamu berlatih JavaScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai JavaScript Academy?
Tidak diperlukan pengalaman sebelumnya. JavaScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Transaksi dan CRUD” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran JavaScript Academy ini?
Ya. Setiap pelajaran JavaScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Membuka Basis Data
- Transaksi dan CRUD
- Indeks dan Kueri
- Pemberian Versi dan Peningkatan