0Pricing
JavaScript Academy · Pelajaran

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 / delete

Menambahkan 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).
  • add menyisipkan, get membaca, put menyisipkan atau memperbarui, dan delete menghapus.
  • Hasil tersedia melalui onsuccess pada setiap permintaan.
  • tx.oncomplete mengonfirmasi 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

  1. Membuka Basis Data
  2. Transaksi dan CRUD
  3. Indeks dan Kueri
  4. Pemberian Versi dan Peningkatan
← Kembali ke JavaScript Academy