【发布时间】:2017-07-20 19:52:11
【问题描述】:
我们为什么要这样做
router.get('/data', async (ctx, next) => {
ctx.body = dummyjson.parse(data);
await next();
});
router.get('/data/:x', async (ctx, next) => {
const newData = dataRepeat.replace('%(x)', ctx.params.x);
ctx.body = dummyjson.parse(newData);
await next();
});
await next()有什么用
没有它就可以正常工作。 koa 1 也有类似的情况。yield next 被添加到路由器的末尾。
【问题讨论】:
-
This answer 用于 Express,而不是 Koa,但其原理基本相同。
-
您需要阅读 Koa 如何利用生成器和迭代器来实现这一点 - Koa 中的级联。正如@Sebastian Hildebrandt 所解释的那样,Koa 通过向下游屈服然后将控制流回上游来做到这一点
标签: koa koa-router koa2