Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

325
Vistas
Express API: la actualización de la API Express NodeJS en el navegador hace que la matriz vacíe los resultados

Creé una API básica para mi proyecto usando node y express. Quería agregar información de paginación a los datos, como límite, tamaño de datos, página, etc.

Me las arreglé para hacer esto, pero tengo un error que no puedo arreglar. Cuando cargo la API en el navegador y presiono actualizar, me mostrará el siguiente conjunto de objetos (ya que el límite es 10), si presiono actualizar nuevamente, los resultados están vacíos.

 {"collectionSize":29,"numOfPages":3,"results":[]}

¿Es este comportamiento normal?

Aplicación.js

 import express from 'express' import cors from 'cors' import indexRouter from './routes/indexRouter.js' const app = express() const port = process.env.PORT || 4041 app.use(express.urlencoded({ extended: false })) app.use(express.json()) app.use(cors()) // <---- use cors middleware app.use('/', indexRouter) app.listen(port, () => { console.log(`server is running on port: ${port}`) })

Enrutador.js

 import express from 'express'; import projectData from "../mocks/data.js"; const router = express.Router(); const projects = projectData; router.get("/api/projects", paginate(projects), (req, res) => { const { paginatedResult } = res; res.json( paginatedResult ); }); const config = { startingPage: 1, limitDefault: 10, modelSize: projects.length, } function paginate(model) { return async (req, res, next) => { const page = parseInt(req.query.page) || config.startingPage; const limit = parseInt(req.query.limit) || config.limitDefault; const startIndex = (page - 1) * limit; const endIndex = page * limit; const numOfPages = Math.round(config.modelSize / limit); const result = {}; if (endIndex < model.length) { result.next = { page: page + 1, limit: limit, }; } if (startIndex > 0) { result.previous = { page: page - 1, limit: limit, }; } try { result['collectionSize'] = config.modelSize; result['numOfPages'] = numOfPages; result.results = model.splice(startIndex, endIndex); res.paginatedResult = result; return next(); } catch (e) { res.status(500).json({ message: e.message }); } }; }
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda