KoaJS 中间件和数据库访问
KoaJS middleware and database access
如果我用这个来显示用户模型的索引:
app.use(route.get('/user', list));
function *list() {
var res = yield users.find({});
this.body = res;
};
是否可以将数据库访问部分放到自己的中间件中,然后调用next?
如何将生成的用户列表传递给下一个中间件?然后以某种方式通过路由?
所以第一个中间件是需要任何数据库访问,第二个中间件是表示?
本质上,您将信息附加到请求上下文或中间件中的 this
关键字。
我创建了一个关于编写可能有用的中间件的截屏视频:
http://knowthen.com/episode-4-writing-middleware-in-koajs/
这是一个如何将信息传递给下游中间件的示例。
let koa = require('koa'),
users = require('./users'),
app = koa();
function *firstMiddleWare (next) {
this.session = {
user: yield users.find({});
}
yield next;
}
function *secondMiddleware (next) {
// this.session.user is available here
yield next;
}
app.use(firstMiddleWare);
app.use(secondMiddleware);
app.use(function *(){
// this.session.user is available here as well
this.body = this.session.user;
});
app.listen(3000);
如果我用这个来显示用户模型的索引:
app.use(route.get('/user', list));
function *list() {
var res = yield users.find({});
this.body = res;
};
是否可以将数据库访问部分放到自己的中间件中,然后调用next?
如何将生成的用户列表传递给下一个中间件?然后以某种方式通过路由?
所以第一个中间件是需要任何数据库访问,第二个中间件是表示?
本质上,您将信息附加到请求上下文或中间件中的 this
关键字。
我创建了一个关于编写可能有用的中间件的截屏视频:
http://knowthen.com/episode-4-writing-middleware-in-koajs/
这是一个如何将信息传递给下游中间件的示例。
let koa = require('koa'),
users = require('./users'),
app = koa();
function *firstMiddleWare (next) {
this.session = {
user: yield users.find({});
}
yield next;
}
function *secondMiddleware (next) {
// this.session.user is available here
yield next;
}
app.use(firstMiddleWare);
app.use(secondMiddleware);
app.use(function *(){
// this.session.user is available here as well
this.body = this.session.user;
});
app.listen(3000);