He definido una función para eliminar un archivo, para incluirlo en el desmontaje para la prueba.
La función de eliminación funciona bien, pero se bloquea forzando a CTRL-C a finalizar el script, y deleteFile('somefile.txt').then(x => console.log(x) muestra undefined mientras espera.
Todavía soy un autodidacta novato de JavaScript. No tengo idea de lo que me estoy perdiendo aquí:
async function deleteFile(file) { let result try { fs.unlink(file, (err) => { if (err) throw err; result = `Deleted ${file}` }) return result } catch (err) { return err } }ACTUALIZAR Hice que el problema general que estaba tratando de resolver fuera más complicado. Esta función no es necesaria. Pensé que necesitaba tener una función de eliminación para exportar a mi prueba. Un enfoque un poco complicado ya que simplemente puedo eliminar directamente el archivo en mi configuración de mi test.js.
También hubo una importación de un identificador de base de datos abierta que no se cerraba y que estaba provocando que el script se bloqueara.
En general, esta situación fue un desastre, pero recibí ayuda para solucionar problemas más allá de la pregunta planteada en esta publicación.
Entonces, este fue más un ejercicio para reconocer cómo puedo cometer errores al estar hiperenfocado en la metodología y perder el rastro de la solución simple.
Parte del aprendizaje es hacer giros equivocados... de los cuales uno puede recuperarse fácilmente.
Aprendizaje neto: Reduzca la velocidad. Mantenlo simple. No te hiperconcentres.
const fs = require('fs') function deleteFile(file) { return new Promise((resolve, reject) => { fs.unlink(file, (err) => { if (err) reject(err); resolve(`Deleted ${file}`) }) }) } deleteFile(some file).then(x => console.log("res", x)).catch(err=>console.log(err.message))