FileSystemSyncAccessHandle의 여러 리더 및 작성자와 FileSystemWritableFileStream의 독점 작성자를 지원합니다.
FileSystemSyncAccessHandle의 여러 리더 및 작성자
출처 비공개 파일 시스템 (버킷 파일 시스템이라고도 함)을 사용하면 개발자가 최대 읽기 및 쓰기 성능에 최적화된 파일에 액세스할 수 있습니다. 이는 FileSystemSyncAccessHandle
객체를 통해 이루어집니다. 현재 동일한 파일 항목에 대해 여러 개의 FileSystemSyncAccessHandle
객체를 열려고 하면 NoModificationAllowedError
과 함께 실패합니다. 이 제약 조건이 제한적인 사용 사례가 있으므로 Chrome 121에서는 다음과 같은 허용되는 문자열 값이 있는 FileSystemFileHandle.createSyncAccessHandle()
메서드의 새 mode
매개변수를 도입합니다.
"readwrite"
: 현재 기본값입니다. 열리면FileSystemSyncAccessHandle
의 모든 메서드가 허용됩니다.FileSystemSyncAccessHandle
의 인스턴스는 하나만 허용됩니다."read-only"
: 여러 명의 독자를 허용합니다. 일단 열면FileSystemSyncAccessHandle
의 읽기와 유사한 메서드(read()
,getSize()
,close()
)만 허용됩니다. 모든 인스턴스가 읽기 전용 모드인 경우FileSystemSyncAccessHandle
의 인스턴스를 여러 개 만들 수 있습니다."readwrite-unsafe"
: 여러 작성자를 허용합니다. 열리면FileSystemSyncAccessHandle
의 모든 메서드가 허용됩니다. 모든 인스턴스가 readwrite-unsafe 모드에 있는 한FileSystemSyncAccessHandle
의 인스턴스를 여러 개 만들 수 있습니다.
"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에서는 FileSystemAccessFileHandle.createWritable()
메서드에 다음 값을 가진 선택적 mode
매개변수를 추가합니다.
"exclusive"
모드: 한 번에 한 명의 작성자만 있을 수 있습니다."siloed"
모드: 현재 기본값입니다. 생성된 각 작성기에는 자체 스왑 파일이 있습니다.
const writable1 = await handle.createWritable({mode: 'exclusive'});
// This will fail:
const writable2 = await handle.createWritable();
브라우저 지원
FileSystemSyncAccessHandle
의 다중 리더 및 작성자와 FileSystemWritableFileStream
의 배타적 작성자라는 두 가지 기능 모두 Chrome 121부터 지원됩니다.
개발자 체험판 시작
Chrome 121 출시 전에 개발자 체험판에 참여하여 기능을 테스트하려면 chrome://flags
에서 #file-system-access-locking-scheme
플래그를 사용 설정됨으로 설정하세요. 이렇게 하면 컴퓨터에서 로컬로 기능을 테스트할 수 있습니다.