我有这样的预响应
function middleware(req: HapiRequest, res: Hapi.ReplyNoContinue) {
res({data: "something"})
}
后来我需要从路由处理程序访问对象我该怎么做?
在定义具有先决条件的路线时,您可以为每个先决条件分配一个名称。像这样:
server.route({
method: `get`,
path: `/pre`,
config: {
pre: [
{
method: function (request, reply) {
reply(`pizza`);
},
assign: `cheekibreeki`
}
]
},
handler: function (request, reply) {
reply(request.pre.cheekibreeki);
}
});
我制作了一条路线并为其分配了名称cheekibreeki
,它的先决条件是回复pizza
。然后,先决条件内的回复数据可在request.pre['assignedname']
.
另一种方法是使用request.app
对象。
如果您不想继续到路由处理程序,则必须使用reply().takeover()
方法。
希望这可以帮助。