Tengo un módulo que exporta una función cuyo objetivo es recopilar todos los datos de cadena transmitidos desde una URL y devolver el resultado completo:
'use strict' const http = require("http"); const bl = require("bl"); async function getUrlData (url) { http.get(url, (response) => { response .pipe(bl((err, data) => { if(err) return console.log(err); const stringData = data.toString(); return stringData })); }); } module.exports = getUrlData;También tengo un archivo principal que acepta 3 URL como argumentos e intenta imprimir el valor de obtener los datos de cada URL en el orden exacto dado.
'use strict' const getData = require('./http-collect-module'); const urls = process.argv.slice(2); const main = async () => { urls.forEach((url) => { var stringData = await getData(url); console.log(stringData) }); } main();Estoy tratando de completar uno antes de pasar al siguiente, sin embargo, recibo este error:
var stringData = await getData(url); ^^^^^ SyntaxError: await is only valid in async functionNo puedo entender por qué recibo este error ya que la función principal es asíncrona. Cualquier ayuda apreciada