Quiero devolver el valor devuelto por la función getData() Entiendo que no puedo devolver una promesa, pero ¿cómo puedo devolver solo el valor de los datos obtenidos en la función asíncrona? Una respuesta de express
Ayuda por favor...
const puppeteer = require('puppeteer'); async function getData() { req = 'hello'; const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto('https://www.abc.com.py/buscar/' + req); const data = await page.evaluate(() => { const $news = document.querySelectorAll('.item-article'); //Corresponde a la clase de Noticias de la pagina const dataNews = []; ...... dataNews.push({ fecha, enlace, enlace_foto, titulo, resumen, }); }); return dataNews; }) return (data); }Esta respuesta
var express = require('express'); var router = express.Router(); var getData = require('../public/javascripts/script'); //import getData from '../public/javascripts/script'; /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); router.get('/consulta', (req, res) => { data = getData.then(val => val); res.json(data); }) module.exports = router;router.get('/consulta', async (req, res) => { data = await getData(); res.json(data); })O
router.get('/consulta', (req, res) => { getData().then(data=>res.json(data)); })