Поддержка нескольких читателей и писателей для FileSystemSyncAccessHandle и эксклюзивного писателя для FileSystemWritableFileStream.
Несколько читателей и писателей для FileSystemSyncAccessHandle
 Частная файловая система origin (иногда также называемая файловой системой bucket) позволяет разработчикам получать доступ к файлам, оптимизированным для максимальной производительности чтения и записи. Это происходит через объекты FileSystemSyncAccessHandle . В настоящее время попытка открыть несколько объектов FileSystemSyncAccessHandle для одной и той же записи файла завершается ошибкой NoModificationAllowedError . Поскольку существуют случаи использования, когда это ограничение является ограничивающим, Chrome 121 вводит новый параметр mode для метода FileSystemFileHandle.createSyncAccessHandle() со следующими допустимыми строковыми значениями:
-  "readwrite": Это текущее значение по умолчанию. После открытия разрешены любые методыFileSystemSyncAccessHandle. Разрешен только один экземплярFileSystemSyncAccessHandle.
-  "read-only": разрешает несколько читателей. После открытия разрешены только методы чтенияFileSystemSyncAccessHandle:read(),getSize()иclose(). Можно создать несколько экземпляровFileSystemSyncAccessHandle, если все они находятся в режиме только для чтения.
-  "readwrite-unsafe": разрешает несколько записей. После открытия разрешены любые методыFileSystemSyncAccessHandle. Можно создать несколько экземпляровFileSystemSyncAccessHandle, если все они находятся в режиме readwrite-unsafe.
 Текущее поведение сохраняется за счет сохранения параметра "readwrite" в качестве значения по умолчанию, что позволяет за раз открывать только один экземпляр. Если сайту необходимо открыть несколько объектов FileSystemSyncAccessHandle , но не требуется выполнять запись, следует использовать параметр "read-only" . Наконец, последний параметр "readwrite-unsafe" допускает несколько экземпляров, а также чтение и запись. В этом случае запись может быть опасной, если выполняется с нескольких вкладок, и сайтам необходимо будет предоставить собственную схему блокировки.
const handle1 = await handle.createSyncAccessHandle({mode: 'readwrite-unsafe'});
// This will succeed:
const handle2 = await handle.createSyncAccessHandle({mode: 'readwrite-unsafe'});
Эксклюзивный писатель для FileSystemWritableFileStream
 В отличие от FileSystemSyncAccessHandle , сегодня можно создавать несколько экземпляров FileSystemWritableFileStream для каждой записи файла. Чего не хватает, так это способа предоставить возможность для эксклюзивного писателя. Chrome 121 добавляет необязательный параметр mode в метод FileSystemAccessFileHandle.createWritable() , который имеет следующие значения:
-  "exclusive"режим: одновременно может существовать только один писатель.
-  "siloed"режим: это текущий режим по умолчанию. Каждый созданный писатель будет иметь свой собственный файл подкачки.
const writable1 = await handle.createWritable({mode: 'exclusive'});
// This will fail:
const writable2 = await handle.createWritable();
Поддержка браузера
 Обе функции — несколько средств чтения и записи для FileSystemSyncAccessHandle и эксклюзивная функция записи для FileSystemWritableFileStream — поддерживаются начиная с Chrome 121.
Примите участие в испытательном сроке разработки
 Чтобы войти в dev-тестирование для тестирования функции перед запуском Chrome 121, установите флаг #file-system-access-locking-scheme в chrome://flags на Enabled . Это позволит вам протестировать функцию локально на вашем компьютере.
Благодарности
Эту статью рецензировали Дасеул Ли , Натан Меммотт и Рейчел Эндрю .
,Поддержка нескольких читателей и писателей для FileSystemSyncAccessHandle и эксклюзивного писателя для FileSystemWritableFileStream.
Несколько читателей и писателей для FileSystemSyncAccessHandle
 Частная файловая система origin (иногда также называемая файловой системой bucket) позволяет разработчикам получать доступ к файлам, оптимизированным для максимальной производительности чтения и записи. Это происходит через объекты FileSystemSyncAccessHandle . В настоящее время попытка открыть несколько объектов FileSystemSyncAccessHandle для одной и той же записи файла завершается ошибкой NoModificationAllowedError . Поскольку существуют случаи использования, когда это ограничение является ограничивающим, Chrome 121 вводит новый параметр mode для метода FileSystemFileHandle.createSyncAccessHandle() со следующими допустимыми строковыми значениями:
-  "readwrite": Это текущее значение по умолчанию. После открытия разрешены любые методыFileSystemSyncAccessHandle. Разрешен только один экземплярFileSystemSyncAccessHandle.
-  "read-only": разрешает несколько читателей. После открытия разрешены только методы чтенияFileSystemSyncAccessHandle:read(),getSize()иclose(). Можно создать несколько экземпляровFileSystemSyncAccessHandle, если все они находятся в режиме только для чтения.
-  "readwrite-unsafe": разрешает несколько записей. После открытия разрешены любые методыFileSystemSyncAccessHandle. Можно создать несколько экземпляровFileSystemSyncAccessHandle, если все они находятся в режиме readwrite-unsafe.
 Текущее поведение сохраняется за счет сохранения параметра "readwrite" в качестве значения по умолчанию, что позволяет за раз открывать только один экземпляр. Если сайту необходимо открыть несколько объектов FileSystemSyncAccessHandle , но не требуется выполнять запись, следует использовать параметр "read-only" . Наконец, последний параметр "readwrite-unsafe" допускает несколько экземпляров, а также чтение и запись. В этом случае запись может быть опасной, если выполняется с нескольких вкладок, и сайтам необходимо будет предоставить собственную схему блокировки.
const handle1 = await handle.createSyncAccessHandle({mode: 'readwrite-unsafe'});
// This will succeed:
const handle2 = await handle.createSyncAccessHandle({mode: 'readwrite-unsafe'});
Эксклюзивный писатель для FileSystemWritableFileStream
 В отличие от FileSystemSyncAccessHandle , сегодня можно создавать несколько экземпляров FileSystemWritableFileStream для каждой записи файла. Чего не хватает, так это способа предоставить возможность для эксклюзивного писателя. Chrome 121 добавляет необязательный параметр mode в метод FileSystemAccessFileHandle.createWritable() , который имеет следующие значения:
-  "exclusive"режим: одновременно может существовать только один писатель.
-  "siloed"режим: это текущий режим по умолчанию. Каждый созданный писатель будет иметь свой собственный файл подкачки.
const writable1 = await handle.createWritable({mode: 'exclusive'});
// This will fail:
const writable2 = await handle.createWritable();
Поддержка браузера
 Обе функции — несколько средств чтения и записи для FileSystemSyncAccessHandle и эксклюзивная функция записи для FileSystemWritableFileStream — поддерживаются начиная с Chrome 121.
Примите участие в испытательном сроке разработки
 Чтобы войти в dev-тестирование для тестирования функции перед запуском Chrome 121, установите флаг #file-system-access-locking-scheme в chrome://flags на Enabled . Это позволит вам протестировать функцию локально на вашем компьютере.
Благодарности
Эту статью рецензировали Дасеул Ли , Натан Меммотт и Рейчел Эндрю .
