描述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洋葱模型的主要内容,如果未能解决你的问题,请参考以下文章

koa2中间件简易分析

koa2中间件简易分析

koa2、koa1、express比较

koa2快速上手(电商平台数据可视化实时监控系统)

纯正商业级应用-Node.js Koa2开发微信小程序服务端

Redux 洋葱模型理解