Koa每次发送状态404

export async function getPlaces(ctx, next) { const { error, data } = await PlaceModel.getPlaces(ctx.query); console.log(error, data); if (error) { return ctx.throw(422, error); } ctx.body = data; } 

Koa每次发送404状态和空身,我做错了什么?

在似乎, await不真正“等待”,因此返回太早(这将导致404错误)。

其中一个原因可能是您的PlaceModel.getPlaces(ctx.query)不返回承诺。 所以它不会等待getPlaces结果。

你必须用路由器连接你的function。 这是一个小例子,它是如何工作的:

 import * as Koa from "koa"; import * as Router from "koa-router"; let app = new Koa(); let router = new Router(); async function ping(ctx) { ctx.body = "pong"; ctx.status = 200; } router.get("/ping", ping); app.use(router.routes()); app.listen(8080);