关于koa2中间件的运行演示
看演示代码:
const Koa = require('koa');
const app = new Koa();
app.use(async (ctx, next) => {
const start = Date.now();
console.log('中间件1...')
await next();
console.log('中间件5...')
});
app.use(async (ctx, next) => {
const start = Date.now();
console.log('中间件2...')
await next();
console.log('中间件4...')
});
app.use(async ctx => {
ctx.body = 'Hello World';
console.log('中间件3...')
});
app.listen(3000);
输出:
PS C:\Users\Administrator\Desktop\koaTest> node app.js
中间件1...
中间件2...
中间件3...
中间件4...
中间件5...
简单解释一下,当访问3000端口的时候,首先执行第一个中间件,打印出‘中间件1…’,然后 await next()。执行第二个中间件,打印’中间件2…’。中间件执行完了,执行app.use语句,执行完之后再返回回去执行await之后的语句。这样就可以很好的理解洋葱模型了~