我可以将控制转移到Hapi.js中的另一个处理程序吗?

我在Hapi.js中有一个主要的路由处理程序,我需要根据发送的参数将控制权发送给另一个处理程序。

例如,如果我发布一个types为“twilio”的消息,我想将请求转发到包含在我的twilio路由文件中的路由处理程序。 如何将处理程序转发到另一个处理程序?

答案包含在这里: https : //github.com/hapijs/hapi/issues/2515 danielb2。 您只需将调用返回给您要处理请求的处理程序,并将响应和回复对象传递给它。

var twilioRoutes = require('./app/routes/twilio.js')(Hapi); var emailRoutes = require('./app/routes/email.js')(Hapi); server.route({ method: 'POST', path: '/', handler: function(request, reply){ if (request.payload.type == 'sms'){ return twilioRoutes.sendSms(request, reply); } else if (request.payload.type == 'email'){ return emailRoutes.sendEmail(request, reply); } // else return reply('Invalid Message Type'); } });