美文网首页
koa学习笔记

koa学习笔记

作者: 大饼脸me | 来源:发表于2017-09-26 14:24 被阅读16次

一、中间件
1、中间件的执行流程

var koa = require('koa');
var app = koa();

// x-response-time
app.use(function *(next){
  // (1) 进入路由
  var start = new Date;
  yield next;
  // (5) 再次进入 x-response-time 中间件,记录2次通过此中间件「穿越」的时间
  var ms = new Date - start;
  this.set('X-Response-Time', ms + 'ms');
  // (6) 返回 this.body
});

// logger
app.use(function *(next){
  // (2) 进入 logger 中间件
  var start = new Date;
  yield next;
  // (4) 再次进入 logger 中间件,记录2次通过此中间件「穿越」的时间
  var ms = new Date - start;
  console.log('%s %s - %s', this.method, this.url, ms);
});

// response
app.use(function *(){
  // (3) 进入 response 中间件,没有捕获到下一个符合条件的中间件,传递到 upstream
  this.body = 'Hello World';
});

app.listen(3000);

以上是koa1的写法,koa2的写法有些不同,function * 写成 async function,yield写成await。

app.use用来引用中间件,按顺序依次执行依次app.use中的代码,遇到 yield next,函数的执行权移交到下一个中间件,直到判断没有下一个yield next,之后逆序执行各个中间件的代码。

相关文章

  • Koa学习资料

    Koa2进阶学习笔记下一代web框架Koajs的在线课程Koa实战深入浅出 Koa Koajs 中文文档和资料

  • nodejs 学习笔记(1)koa2 koa-generator

    koa2是nondejs的开发框架,最近学习nodejs,这里记记笔记 首先安装好nodejs 安装koa2,全局...

  • Koa学习笔记

    中间件 Koa 的最大特色,也是最重要的一个设计,就是中间件(middleware) 中间件的概念 代码中的log...

  • koa学习笔记

    一、中间件1、中间件的执行流程 以上是koa1的写法,koa2的写法有些不同,function * 写成 asyn...

  • koa学习笔记

    import和export在node中使用mongodb学习1 mongoose的学习2 先运行mongo.exe...

  • koa学习笔记

    安装 1. hello world app.use([路径],callback)ctx.body是ctx.resp...

  • koa

    koa 学习 中间件 koa-router koa-router 获取get/post请求参数 koa-bodyp...

  • nodejs学习笔记2(koa框架的使用)

    这是我以前学习的笔记,现在回顾mark一下 官网: https://koa.bootcss.com/[https:...

  • Koa学习笔记#1

    Koa的执行过程 背景:JavaScript为了实现异步编程,传统的方式有回调函数、事件监听等。所谓回调函数,就是...

  • Koa mongoose 学习笔记

    中间件 @Koa/cors 前后端分离 所以用了 @koa/cors 来解决跨域 koa-session 用来生成...

网友评论

      本文标题:koa学习笔记

      本文链接:https://www.haomeiwen.com/subject/nvdosxtx.html