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

133
Vistas
Tener un problema de flujo de control con el hallazgo del modelo mangosta


Soy completamente nuevo en el nodo y sus marcos Koa y express. Tengo un modelo de mangosta llamado Dibujo y un módulo de enrutador para eso.

El problema es que con los enrutadores express pude obtener los datos de la base de datos usando el método Drawing.find pero con Koa, el control ni siquiera entra en Drawing.find. Y no soy capaz de obtener los datos en absoluto. Encuentre el siguiente código relacionado y ayúdeme a entender mejor las cosas.

Este es mi módulo de enrutador

 import * as Router from "koa-router"; import Drawing from "../../models/drawing"; function getRoutesForDrawing(): Router { console.log("Inside getRoutes for drawing"); let route = new Router(); route.get("/drawing", function(context,next) { console.log("Inside /drawing"); Drawing.find(function(err,drawings) { console.log("Not gettig executed"); context.body = "Welcome"; }); //context.body = "Welcome"; }); } export default getRoutesForDrawing();

Y el modelo es

 import mongoose = require("mongoose"); export interface IDrawing extends mongoose.Document { drawingId:Number, drawingName:String, updatedOn:Date, updatedBy:Number }; export const DrawingSchema = new mongoose.Schema({ drawingId:Number, drawingName:String, updatedOn:Date, updatedBy:Number }); const Drawing = mongoose.model<IDrawing>('Drawing', DrawingSchema); export default Drawing;

Como puede ver en el módulo de mi enrutador, el control en realidad viene para /drawing y está imprimiendo en la consola "Dentro de /drawing", pero luego el control no llega a Drawing.find. Me está costando entender esto.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Es un poco difícil averiguar qué está pasando porque parece que tienes problemas por todas partes. Permítanme señalar las cosas que se destacan:

  1. getRoutesForDrawing se declara para devolver un enrutador y no devuelve nada
  2. Las rutas de Koa no son como express. En particular, no se basan en la devolución de llamada. Toman funciones de generador (Koa 1.x) o funciones asíncronas (Koa 2.x). Parece que espera que desee una función de devolución de llamada que no funcionará. Asumiendo koa 2.x, su router.get('/drawing', async(context) => {...});
  3. Suponiendo que koa 2.x, debe esperar el resultado de los métodos de mangosta, por ejemplo, context.body = await Drawing.find({})
over 4 years ago · Santiago Trujillo Denunciar
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