Intentando realizar un async/await básico en NodeJS pero aún no funciona.
Código que estoy tratando de ejecutar:
var fs = require('fs'); var stringData; async function find(context) { try { let text = await readFile('./sql/test.sql', context); } catch (e) { console.log('Try/Catch Error: ' + e) } console.log('display') console.log('display ' + JSON.stringify(text)) return } async function readFile(file, context) { new Promise((resolve) => { fs.readFile(file, (error, data) => { if (error) { throw error; } stringData = data.toString() }), (err) => { console.log('ERROR: ' + JSON.stringify(err)); }, () => { resolve(1); } }) }; module.exports.find = find;Cuando ejecuto lo anterior, obtengo resultados indefinidos para console.log para texto.
Espero que el texto use la espera para completar antes de pasar a los registros de la consola.
Parece que no está resolviendo la promesa con el resultado que obtiene de data.toString(); necesita agregar resolve(stringData)
PD. En el controlador de errores que está utilizando resolve, probablemente debería usar reject allí