如何使Koa中的中间件调用顺序正常工作?

问题描述

我使用的是Koa,我创建了一个自定义的中间件,每条路线结束后都会被调用。

但是我有一个问题,因为Koa并没有调用我创建的中间件,而是调用了同一级别的下一条路由。

这是我的routes.js

const Router = require('koa-joi-router');
const faqRouter = new Router();

faqBackofficeRouter.put('/faq/otherResource',putResource,faq.putResource);
faqBackofficeRouter.put('/faq/:id',faq.putId);

module.exports = faqRouter;

我有这两个端点,faq / otherResource和faq /:id

当我调用/ faq / otherResource时,我在putResource处理程序的末尾调用next(),而不是调用我的自定义函数,而是调用/ faq /:id

这是我的app.js

const app = new Koa();

app.use(cors());
app.use(logger());
app.use(faqRouter.middleware());
app.use(async ctx => {
    await custom.myCustomMiddleware(ctx);
});

module.exports = app;

有人知道我为了避免这个问题必须做什么吗?我在Express中看到了一些有关此的问题,但我真的不知道该如何工作。我在Koa github中看到一个类似的问题,我想知道这是否有解决方案,或者实际上是一个问题

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...