美文网首页
koa1 中间件执行顺序演示

koa1 中间件执行顺序演示

作者: 奥尼酱 | 来源:发表于2016-10-31 01:04 被阅读0次

koa的执行顺序第一次看,肯定会混乱,官方文档也只是介绍了yield next的执行顺序,如果我们有自己的异步操作呢?顺序是怎样?让我们简单演示一下

var koa = require('koa');
var app = koa();
var fs = require('co-fs');
// x-response-time
app.use(function *(next){
  console.log('========begin==========');
  // (1) 进入路由
  console.log(1)
  yield next;
  console.log(8);
  console.log('========end==========')
});

// logger
app.use(function *(next){
  console.log(2)
  yield new Promise((resolve) => {
    setTimeout(() => resolve(), 3000);
  });
  console.log(3);
  yield next;
  console.log(5);
  let result = yield fs.readFile('./node_modules/@types/node/index.d.ts', 'utf8');
  console.log(6);
  result = yield new Promise((resolve) => {
    setTimeout(() => resolve(), 3000);
  });
  console.log(7);
});

// response
app.use(function *(){
  console.log(4);
  this.body = 'Hello World';
});

app.listen(10000);

打开chrome浏览器,连续发送请求,观察执行顺序与结果

相关文章

  • koa1 中间件执行顺序演示

    koa的执行顺序第一次看,肯定会混乱,官方文档也只是介绍了yield next的执行顺序,如果我们有自己的异步操作...

  • koa学习笔记

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

  • koa中间件

    应用级中间件 路由中间件(同样一个路由,分步执行不同的操作) 错误中间件(注意代码的执行顺序) 中间件的执行顺序

  • 四、中间件

    一、定义中间件: 二、在 中注册中间件: 三、中间件的执行顺序: 1 > 2 >2 >1

  • 4.2KOA 中间件执行流程

    中间件执行流程 代码执行流程 中间件 1 开始执行中间件 2 开始执行执行内容中间件 2 结束执行中间件 1 结束...

  • 多个koa中间件执行顺序

    多个中间件执行顺序 多个中间件会形成一个栈结构(middle stack),以"先进后出"(first-in-la...

  • Flutter Redux 中间件执行顺序

    Redux 通过中间件的机制,可以解耦业务逻辑,更加灵活的处理异步的操作。 在实际使用的过程中,每个 中间件的 c...

  • Koa 中间件的执行顺序

    一、概念 Koa 应用程序是一个包含一组中间件函数的对象。 1. async和await在koa中使用关键词 as...

  • django的执行顺序:

    django的执行顺序: 请求从客户端发出: 通过Django的WSGI 依次经过中间件 process_requ...

  • kratos中简单使用jwt和casbin

    在上一篇文章中,我们了解了kratos框架对于中间件的注册和定义,在每个请求导到接口前都会先顺序执行注册的中间件,...

网友评论

      本文标题:koa1 中间件执行顺序演示

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