Dukungan untuk beberapa pembaca dan penulis untuk FileSystemSyncAccessHandle dan penulis eksklusif untuk FileSystemWritableFileStream.
Beberapa pembaca dan penulis untuk FileSystemSyncAccessHandle
Sistem file pribadi asal (terkadang juga disebut sebagai sistem file bucket) memungkinkan developer mengakses file yang dioptimalkan untuk performa pembacaan dan penulisan maksimum. Hal ini terjadi melalui objek FileSystemSyncAccessHandle
. Saat ini, mencoba membuka beberapa objek FileSystemSyncAccessHandle
untuk entri file yang sama akan gagal dengan NoModificationAllowedError
. Karena ada kasus penggunaan yang membatasi batasan ini, Chrome 121 memperkenalkan parameter mode
baru untuk metode FileSystemFileHandle.createSyncAccessHandle()
dengan nilai string yang diizinkan berikut:
"readwrite"
: Ini adalah setelan default saat ini. Setelah terbuka, semua metode diFileSystemSyncAccessHandle
diizinkan. Hanya satu instanceFileSystemSyncAccessHandle
yang diizinkan."read-only"
: Mengizinkan beberapa pembaca. Setelah terbuka, hanya metode seperti baca diFileSystemSyncAccessHandle
yang diizinkan:read()
,getSize()
, danclose()
. Beberapa instanceFileSystemSyncAccessHandle
dapat dibuat selama semuanya dalam mode hanya baca."readwrite-unsafe"
: Mengizinkan beberapa penulis. Setelah terbuka, semua metode diFileSystemSyncAccessHandle
diizinkan. Beberapa instanceFileSystemSyncAccessHandle
dapat dibuat selama semuanya berada dalam mode readwrite-unsafe.
Perilaku saat ini dipertahankan dengan mempertahankan opsi "readwrite"
sebagai default, yang hanya mengizinkan satu instance dalam satu waktu. Jika situs perlu membuka beberapa objek FileSystemSyncAccessHandle
, tetapi tidak perlu melakukan operasi tulis, opsi "read-only"
harus digunakan. Terakhir, opsi terakhir "readwrite-unsafe"
memungkinkan beberapa instance serta baca dan tulis. Dalam hal ini, operasi tulis dapat menjadi cepat jika dilakukan dari beberapa tab, dan situs harus menyediakan skema penguncian sendiri.
const handle1 = await handle.createSyncAccessHandle({mode: 'readwrite-unsafe'});
// This will succeed:
const handle2 = await handle.createSyncAccessHandle({mode: 'readwrite-unsafe'});
Penulis eksklusif untuk FileSystemWritableFileStream
Tidak seperti FileSystemSyncAccessHandle
, beberapa instance FileSystemWritableFileStream
dapat dibuat per entri file saat ini. Yang hilang adalah cara untuk memberikan opsi bagi penulis eksklusif. Chrome 121 menambahkan parameter mode
opsional ke metode FileSystemAccessFileHandle.createWritable()
yang memiliki nilai berikut:
- Mode
"exclusive"
: Hanya satu penulis yang dapat ada dalam satu waktu. - Mode
"siloed"
: Ini adalah setelan default saat ini. Setiap penulis yang dibuat akan memiliki file swap-nya sendiri.
const writable1 = await handle.createWritable({mode: 'exclusive'});
// This will fail:
const writable2 = await handle.createWritable();
Dukungan browser
Kedua fitur tersebut, beberapa pembaca dan penulis untuk FileSystemSyncAccessHandle
dan penulis eksklusif untuk FileSystemWritableFileStream
, didukung mulai Chrome 121.
Memulai uji coba developer
Untuk memasuki uji coba developer guna menguji fitur sebelum Chrome 121 diluncurkan, tetapkan tanda #file-system-access-locking-scheme
di chrome://flags
ke Enabled. Tindakan ini akan memungkinkan Anda menguji fitur secara lokal di komputer.
Ucapan terima kasih
Artikel ini ditinjau oleh Daseul Lee, Nathan Memmott, dan Rachel Andrew.