FileSystemSyncAccessHandle için birden çok okuyucu ve yazar ve FileSystemWritableFileStream için özel yazar desteği.
FileSystemSyncAccessHandle için birden fazla okuyucu ve yazar
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, FileSystemSyncAccessHandle
nesneleri aracılığıyla gerçekleşir. Şu anda aynı dosya girişi için birden fazla FileSystemSyncAccessHandle
nesnesi açmaya çalışmak NoModificationAllowedError
hatasıyla sonuçlanıyor. Bu kısıtlamanın sınırlayıcı olduğu kullanım alanları olduğundan Chrome 121, FileSystemFileHandle.createSyncAccessHandle()
yöntemi için aşağıdaki izin verilen dize değerlerine sahip yeni bir mode
parametresi kullanıma sunar:
"readwrite"
: Bu, geçerli varsayılan ayardır. Açıldıktan sonraFileSystemSyncAccessHandle
'teki tüm yöntemlere izin verilir. Yalnızca birFileSystemSyncAccessHandle
örneğine izin verilir."read-only"
: Birden fazla okuyucuya izin verir. Açıldıktan sonraFileSystemSyncAccessHandle
'te yalnızca okumaya benzer yöntemlere (read()
,getSize()
veclose()
) izin verilir. Tümü salt okuma modunda olduğu sürece birden fazlaFileSystemSyncAccessHandle
örneği oluşturulabilir."readwrite-unsafe"
: Birden fazla yazara izin verir. Açıldıktan sonraFileSystemSyncAccessHandle
'teki tüm yöntemlere izin verilir. Hepsi okuma/yazma güvenliği olmayan modda olduğu sürece birden fazlaFileSystemSyncAccessHandle
örneği oluşturulabilir.
"readwrite"
seçeneği varsayılan olarak tutularak mevcut davranış korunur. Bu seçenek, bir defada yalnızca bir örneğin kullanılmasına izin verir. Bir sitenin birden fazla FileSystemSyncAccessHandle
nesnesi açması ancak yazma işlemi yapması gerekmiyorsa "read-only"
seçeneği kullanılmalıdır. Son olarak, "readwrite-unsafe"
seçeneği hem okuma hem de yazma işlemlerinin yanı sıra birden fazla örneğin oluşturulmasına olanak tanır. Bu durumda, birden fazla sekmeden gerçekleştirilirse yazma işlemleri çok hızlı olabilir ve sitelerin kendi kilitleme şemalarını sağlaması gerekir.
const handle1 = await handle.createSyncAccessHandle({mode: 'readwrite-unsafe'});
// This will succeed:
const handle2 = await handle.createSyncAccessHandle({mode: 'readwrite-unsafe'});
FileSystemWritableFileStream için özel yazıcı
FileSystemSyncAccessHandle
'ten farklı olarak, dosya girişi başına birden fazla FileSystemWritableFileStream
örneği oluşturulabilir. Özel bir yazar için seçenek sunma seçeneği eksik. Chrome 121, FileSystemAccessFileHandle.createWritable()
yöntemine aşağıdaki değerleri içeren isteğe bağlı bir mode
parametresi ekler:
"exclusive"
modu: Aynı anda yalnızca bir yazar olabilir."siloed"
modu: Geçerli varsayılan ayardır. Oluşturulan her yazarın kendi takas dosyası vardır.
const writable1 = await handle.createWritable({mode: 'exclusive'});
// This will fail:
const writable2 = await handle.createWritable();
Tarayıcı desteği
FileSystemSyncAccessHandle
için birden fazla okuyucu ve yazar ve FileSystemWritableFileStream
için özel yazar olmak üzere her iki özellik de Chrome 121'den itibaren desteklenmektedir.
Geliştirici denemesine girme
Chrome 121 yayınlanmadan önce özelliği test etmek için geliştirici denemesine girmek istiyorsanız chrome://flags
içindeki #file-system-access-locking-scheme
işaretini Etkin olarak ayarlayın. Bu sayede özelliği makinenizde yerel olarak test edebilirsiniz.
Teşekkür ederiz
Bu makale Daseul Lee, Nathan Memmott ve Rachel Andrew tarafından incelenmiştir.