# 上下文
koa的中间件
```javascript
app.use(function *(next){
this; // is the Context
this.request; // is a koa Request
this.response; // is a koa Response
});
```
说明:
- this是上下文(注释1*)
- *代表es6里的generator
http模型里的请求和响应
- this.request
- this.response
对比express的中间件
```javascript
app.use(function (req, res, next) {
return next();
});
```
express里的req和res是显式声明,看起来更清晰一些
next处理是一样的,二者无差异
注释1: 此处的this 并不同于通常状态下的this 指向(即调用者)。在koa中 this 指向每一次的请求,在请求接受后初始化,在一次请求结束后被释放。
- Introduction
- Nodejs 4.x新特性
- classes
- typed arrays
- generators
- collections
- Set
- Map
- arrow functions
- block scoping
- template strings
- promises
- symbols
- Koa基础
- 上下文
- koa-generator
- 安装
- 创建项目
- 更改视图模板引擎
- Routes
- HTTP
- Get
- 如何获取query参数
- 如何获取params
- Post
- 从post获取参数
- 标准表单(Post with x-www-form-urlencoded)
- 文件上传(Post with form-data)
- Post with raw
- 数据库
- MySQL
- Mongo
- 流程控制
- generator/co
- es6的generator是什么?
- co = generator + promise
- async/await
- promise with bluebird
- 测试
- Mocha
- Supertest
- 部署
- 最佳实践
- FAQ
- 如何发布本书到git pages
- 如何知道require模块的用法
- koa中的异常处理