如何在路由处理程序中使用`pre` – hapi.js

我必须在路线中使用pre来调用方法。 我正在使用hapi-request 。 我试图在路由声明中使用pre,但是出现错误。 我错过了什么?

我原来的路线:

server.route({ method: 'POST', path: '/searchUser', config: User.searchUser }) 

使用Pre

 server.route({ method: 'POST', path: '/searchUser', pre: validateUser, config: User.searchUser }) 

错误

 Error: Invalid route options (/searchUser) { "method": "POST", "path": "/searchUser", "config": {} } ←[31m [1] "pre" is not allowed←[0m 

pre应该在config对象内部使用。

从Hapi的路线先决条件文档:

 server.route({ method: 'GET', path: '/', config: { pre: [ [ // m1 and m2 executed in parallel { method: pre1, assign: 'm1' }, { method: pre2, assign: 'm2' } ], { method: pre3, assign: 'm3' }, ], handler: function (request, reply) { return reply(request.pre.m3 + '\n'); } } }); 

更新路线:

 server.route({ method: 'POST', path: '/searchUser', config: { handler: User.searchUser, pre: [{ method: validate /* function to be called */ }] } ); 

路由configuration对象的属性pre不是一个函数( 在这里 ),它是一个对象route-prerequisites的数组