Koa即将不支持generators,那应该怎么写?

const Koa = require('koa'),
    app = new Koa(),
    Router = require('koa-router'),
    router = new Router();

app.use(router.routes());

app.use(ctx => {
    ctx.body = 'Hello World';
});

app.listen(8000);

没有报错,但是报出一条警告:

koa deprecated Support for generators will be removed in v3. See the documentation for examples of how to convert old middleware https://github.com/koajs/koa/blob/master/docs/migration.md server.js:6:5

OK, 那么就是app.use(router.routes());这里写的不好,那么应该怎么写才对呢?事实上我甚至不太清楚这句话是做什么的~

求教,谢谢~

阅读 7.2k
1 个回答

这样写没问题,我理解只是一个提醒吧。
现在koa-router已经不支持generator的写法,但是可以支持async
支持:

router.get('/setcookie', async (ctx, next) => {
    ctx.body = 'Set Cookie';
    console.log(ctx.response)
});

router.get('/setcookie', function {
    ctx.body = 'Set Cookie';
    console.log(ctx.response)
});

不支持:

router.get('/setcookie', function* (ctx, next) => {
    ctx.body = 'Set Cookie';
    console.log(ctx.response)
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题