mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
Update Koa example for Koa 2 with async/await (#1317)
This commit is contained in:
parent
46b5d6a445
commit
68d48cb004
|
@ -6,8 +6,8 @@
|
|||
"start": "NODE_ENV=production node server.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"koa": "^1.2.4",
|
||||
"koa-router": "^5.4.0",
|
||||
"koa": "^2.0.1",
|
||||
"koa-router": "^7.1.0",
|
||||
"next": "^2.0.0-beta",
|
||||
"react": "^15.4.2",
|
||||
"react-dom": "^15.4.2"
|
||||
|
|
|
@ -11,26 +11,24 @@ app.prepare()
|
|||
const server = new Koa()
|
||||
const router = new Router()
|
||||
|
||||
router.get('/a', function *() {
|
||||
app.render(this.req, this.res, '/b', this.query)
|
||||
this.respond = false
|
||||
router.get('/a', async ctx => {
|
||||
await app.render(ctx.req, ctx.res, '/b', ctx.query)
|
||||
ctx.respond = false
|
||||
})
|
||||
|
||||
router.get('/b', function *() {
|
||||
app.render(this.req, this.res, '/a', this.query)
|
||||
this.respond = false
|
||||
router.get('/b', async ctx => {
|
||||
await app.render(ctx.req, ctx.res, '/a', ctx.query)
|
||||
ctx.respond = false
|
||||
})
|
||||
|
||||
router.get('*', function *() {
|
||||
handle(this.req, this.res)
|
||||
this.respond = false
|
||||
router.get('*', async ctx => {
|
||||
await handle(ctx.req, ctx.res)
|
||||
ctx.respond = false
|
||||
})
|
||||
|
||||
server.use(function *(next) {
|
||||
// Koa doesn't seems to set the default statusCode.
|
||||
// So, this middleware does that
|
||||
this.res.statusCode = 200
|
||||
yield next
|
||||
server.use(async (ctx, next) => {
|
||||
ctx.res.statusCode = 200
|
||||
await next()
|
||||
})
|
||||
|
||||
server.use(router.routes())
|
||||
|
|
Loading…
Reference in a new issue