描述Koa2洋葱模型
Posted lime2019
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了描述Koa2洋葱模型相关的知识,希望对你有一定的参考价值。
基本上面试都会被问到,所以整理一下。
Koa2中间件基于async/await
实现的,其执行过程是通过next
来驱动的。Koa2的中间件执行顺序的模型被称为洋葱模型。
官网所给示例:
// logger
app.use(async (ctx, next) => {
await next();
const rt = ctx.response.get('X-Response-Time');
console.log(`${ctx.method} ${ctx.url} - ${rt}`);
});
// x-response-time
app.use(async (ctx, next) => {
const start = Date.now();
await next();
const ms = Date.now() - start;
ctx.set('X-Response-Time', `${ms}ms`);
});
// response
app.use(async ctx => {
ctx.body = 'Hello World';
});
以上是关于描述Koa2洋葱模型的主要内容,如果未能解决你的问题,请参考以下文章