dentro de una función de solicitud de obtención para mysql db y después de dos esperas en promesas para llenar dos listas (tab1 y tab2), quiero obtener la intersección entre ellas. tab1 y tab2 son listas de cadenas.
const app = express(); var intersectionBetween = function(a1,a2){ return a1.filter(function(n) { return a2.indexOf(n) !== -1;}); }; app.get('/getPackages', async (req, res) => { var tab1= [] var tab2= [] const promiseIntersection = (a1, a2) => { return new Promise((res, rej)=> { intersectionBetween(a1, a2, function (err, resultsss){ if (err) rej(err); return res(resultsss) }); }) } const intersectionb = await promiseIntersection(tab1, tab2); console.log("efe",intersectionb) res.send('Posts fetched...'); }); app.listen(3000, () => console.log("Express server is runnig at port: 3000"))Quería obtener la intersección, pero cuando entro en el navegador en '/ getPackages', el navegador se ejecuta para siempre sin devolver nada. ¿Alguien puede ayudar?
Después de dos esperas en promesas para llenar dos listas (tab1 y tab2), puede llamarlo directamente y obtener la intersección. No hay nada asíncrono.
app.get('/getPackages', async (req, res) => { var tab1= [] var tab2= [] const intersectionb = intersectionBetween(tab1, tab2); console.log("efe",intersectionb) res.send('Posts fetched...'); });