gpt4 book ai didi

javascript - 在 koa.js 中的中间件之间传递值的最佳方式是什么

转载 作者:搜寻专家 更新时间:2023-10-31 22:37:22 24 4
gpt4 key购买 nike

我使用 koa-route 和 koa-ejs 对 koa.js 进行了简单设置。

var koa     = require('koa');
var route = require('koa-route');
var add_ejs = require('koa-ejs');
var app = koa();

add_ejs(app, {…});

app.use(function *(next){
console.log( 'to do layout tweak for all requests' );
yield next;
});

app.use(route.get('/', function *(name) {
console.log( 'root action' );
yield this.render('index', {name: 'Hello' });
}));

在这两种方法之间传递值的最佳方式是什么?

最佳答案

context.state 是在中间件之间共享数据的低级方式。它是一个安装在所有中间件中都可用的 context 上的对象。

你可以这样使用它:

let counter = 0;

app.use((ctx, next) => {
ctx.state.requestId = counter++;
return next();
});

app.use((ctx, next) => {
console.log(ctx.state.requestId);
// => 1, 2, 3, etc
return next();
});

source

koajs readme

关于javascript - 在 koa.js 中的中间件之间传递值的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24236192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com