Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

174
Vistas
¿Cómo puedo evitar que la API de acceso al sistema de archivos guarde un archivo cuando se produce un error?

Al guardar un archivo con la API de acceso al sistema de archivos, si se produce un error entre escribir y guardar un archivo nuevo, se sigue creando y guardando un archivo.

¿Hay alguna forma de evitar que se cree y guarde este archivo?

Como ejemplo, con el siguiente código, se genera un error antes de que se ejecute la función de guardar. Este error impide que se ejecute la función de guardar; sin embargo, aún se crea un archivo.

 let fileHandle; async function save() { let stream = await fileHandle.createWritable(); await stream.write(); await stream.close(); } async function saveFile() { const options = { types: [{ description: 'Text File', accept: { 'text/plain': '.txt' }, }], excludeAcceptAllOption: true, } try { fileHandle = await window.showSaveFilePicker(options); } catch (err) { return; } throw "Some error occurs, preventing the 'save' function from being reached..."; save(); }
 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>File System Access Test</title> <script type="text/javascript" src="test.js"></script> </head> <body> <button type="button" onclick="saveFile()">Save File</button> </body> </html>

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

todas las prevenciones se pueden crear a través de validaciones

Por ejemplo, cree una clase que valide los parámetros que requiere que se cumplan y, si la validación es correcta, ejecute la función de guardar.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Tu código ya está funcionando, solo moví las últimas líneas porque no son necesarias.

Probé tu código creando una carpeta que no puede crear archivos dentro

 async function saveFile() { const options = { types: [{ description: 'Text File', accept: { 'text/plain': '.txt' }, }], excludeAcceptAllOption: true, } // here i make the changes try { fileHandle = await window.showSaveFilePicker(options); save(); } catch (err) { alert('failed') } }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda