koa每次发送状态404是
Koa send status 404 every time is
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 状态和空体,我做错了什么?
您必须将您的功能与路由器连接起来。这是它如何工作的一个小例子:
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);
似乎 await
并不是真正的 "wait",因此 returns 太早了(这会导致 404 错误)。
其中一个原因可能是您的 PlaceModel.getPlaces(ctx.query)
没有 returns 承诺。所以它继续而不等待 getPlaces
.
的结果
我也有这个问题,并通过添加解决了它:
ctx.status = 200;
正下方
ctx.body = data;
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 状态和空体,我做错了什么?
您必须将您的功能与路由器连接起来。这是它如何工作的一个小例子:
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);
似乎 await
并不是真正的 "wait",因此 returns 太早了(这会导致 404 错误)。
其中一个原因可能是您的 PlaceModel.getPlaces(ctx.query)
没有 returns 承诺。所以它继续而不等待 getPlaces
.
我也有这个问题,并通过添加解决了它:
ctx.status = 200;
正下方
ctx.body = data;