FileSystemSyncAccessHandle'ın birden fazla okuyucu ve yazar desteği, FileSystemWritableFileStream için ise özel yazıcı desteği.
FileSystemSyncAccessHandle'ın birden fazla okuyucu ve yazıcı
Kaynak gizli dosya sistemi (bazen paket dosya sistemi olarak da adlandırılır), geliştiricilerin maksimum okuma ve yazma performansı için optimize edilmiş dosyalara erişmesine olanak tanır. Bu işlem FileSystemSyncAccessHandle
nesneleri aracılığıyla yapılır. Şu anda aynı dosya girişi için birden çok FileSystemSyncAccessHandle
nesnesini açma girişimi NoModificationAllowedError
hatasıyla başarısız oluyor. Bu kısıtlamanın sınırlandığı kullanım alanları olduğundan Chrome 121, FileSystemFileHandle.createSyncAccessHandle()
yöntemi için aşağıdaki izin verilen dize değerleriyle yeni bir mode
parametresi sunmaktadır:
"readwrite"
: Bu, geçerli varsayılan ayardır. Açıldığında,FileSystemSyncAccessHandle
üzerinde tüm yöntemlere izin verilir. Yalnızca birFileSystemSyncAccessHandle
örneğine izin verilir."read-only"
: Birden çok okuyucuya izin verir. Açıldığında,FileSystemSyncAccessHandle
üzerinde yalnızca okuma benzeri yöntemlere izin verilir:read()
,getSize()
veclose()
. Hepsi salt okuma modunda olduğu sürece birden çokFileSystemSyncAccessHandle
örneği oluşturulabilir."readwrite-unsafe"
: Birden fazla yazara izin verir. Açıldığında,FileSystemSyncAccessHandle
üzerinde tüm yöntemlere izin verilir. Hepsi okuma-yazma güvenli olmayan modda olduğu sürece birden fazlaFileSystemSyncAccessHandle
örneği oluşturulabilir.
Tek seferde yalnızca bir örneğe izin veren "readwrite"
seçeneği varsayılan olarak korunarak mevcut davranış korunur. Bir sitenin birden çok FileSystemSyncAccessHandle
nesnesi açması gerekiyorsa ancak yazma işlemi yapması gerekmiyorsa "read-only"
seçeneği kullanılmalıdır. Son olarak son "readwrite-unsafe"
seçeneği, hem okuma hem de yazmanın yanı sıra birden çok örneğine izin verir. Bu durumda, yazma işlemleri birden çok sekmeden gerçekleştirildiğinde müstehcen olabilir ve sitelerin kendi kilitleme düzenlerini sağlamaları gerekir.
const handle1 = await handle.createSyncAccessHandle({mode: 'readwrite-unsafe'});
// This will succeed:
const handle2 = await handle.createSyncAccessHandle({mode: 'readwrite-unsafe'});
FileSystemWritableFileStream için özel yazar
FileSystemSyncAccessHandle
işlevinin aksine şu anda dosya girişi başına birden fazla FileSystemWritableFileStream
örneği oluşturulabilir. Eksik olan, özel bir yazara seçenek sunmanın bir yoludur. Chrome 121, FileSystemAccessFileHandle.createWritable()
yöntemine aşağıdaki değerlere sahip isteğe bağlı bir mode
parametresi ekler:
"exclusive"
modu: Aynı anda yalnızca bir yazar olabilir."siloed"
modu: Bu, geçerli varsayılan moddur. Oluşturulan her yazarın kendi değiştirme dosyası olur.
const writable1 = await handle.createWritable({mode: 'exclusive'});
// This will fail:
const writable2 = await handle.createWritable();
Tarayıcı desteği
Her iki özellik de (FileSystemSyncAccessHandle
için birden fazla okuyucu, yazar ve FileSystemWritableFileStream
yayıncısının özel yazarı) Chrome 121 itibarıyla desteklenmektedir.
Geliştirici deneme sürümünü başlatın
Chrome 121 kullanıma sunulmadan önce geliştirme deneme sürümüne girerek özelliği test etmek için chrome://flags
içindeki #file-system-access-locking-scheme
işaretini Etkin olarak ayarlayın. Böylece, özelliği makinenizde yerel olarak test edebilirsiniz.
Teşekkür
Bu makale Daseul Lee, Nathan Memmott ve Rachel Andrew tarafından incelendi.