0

我有这样的预响应

function middleware(req: HapiRequest, res: Hapi.ReplyNoContinue) {
    res({data: "something"})
}

后来我需要从路由处理程序访问对象我该怎么做?

4

1 回答 1

1

在定义具有先决条件的路线时,您可以为每个先决条件分配一个名称。像这样:

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()方法。

希望这可以帮助。

于 2017-09-12T22:48:54.997 回答