- 23
- 0
const Koa = require('koa')
const route = require('koa-route')
const app = new Koa()
app.use(async function middleware1(ctx, next) {
console.log('middleware1 开始')
await next()
console.log('middleware1 结束')
})
app.use(async function middleware2(ctx, next) {
console.log('middleware2 开始')
await next()
console.log('middleware2 结束')
})
app.use(async function middleware3(ctx, next) {
console.log('middleware3 开始')
await next()
console.log('middleware3 结束')
})
app.use(route.get('/', (ctx, next) => {
ctx.body = 'hello koa'
}))
app.listen(3001, function () {
console.log('server is listening on port 3001')
})
middleware1 开始
middleware2 开始
middleware3 开始
middleware3 结束
middleware2 结束
middleware1 结束
这段代码使用 Koa,按照 Koa 的“洋葱圈”中间件模型,中间件里的代码会像“回形针”一样执行,执行结果如上。
const express = require('express')
const app = express()
app.use(function middleware1(req, res, next) {
console.log('middleware1 开始')
next()
console.log('middleware1 结束')
})
app.use(function middleware2(req, res, next) {
console.log('middleware2 开始')
next()
console.log('middleware2 结束')
})
app.use(function middleware3(req, res, next) {
console.log('middleware3 开始')
next()
console.log('middleware3 结束')
})
app.get('/', function (req, res, next) {
res.end('hello express')
})
app.listen(3000, function () {
console.log('server listening on port 3000!')
})
middleware1 开始
middleware2 开始
middleware3 开始
middleware3 结束
middleware2 结束
middleware1 结束
Express 的中间件模型是线性的,next() 之后的代码应该不会执行,但是上面代码的执行结果却和使用 Koa 一样。
想请教大佬们解释一下执行结果为什么是这样的。
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
