2017-09-12 14 views
0

내가 사전 한 응답 무엇인가?중고 미들웨어에서 경로 처리기로 데이터를 전달하는 방법은 무엇입니까? 이</p> <pre><code>function middleware(req: HapiRequest, res: Hapi.ReplyNoContinue) { res({data: "something"}) } </code></pre> <p>그리고 나중에 내가 그렇게 할 수있는 방법을 경로 처리기에서 개체를 액세스 할 필요가 같은

+0

싱글턴? 전역 개체? – lumio

+0

질문 좀 자세히 설명해 주시겠습니까? – Vladimir

+0

나는 당신이 전역 객체를 찾고 있다는 것을 이해했다. 그렇지 않습니까? – lumio

답변

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); 
     } 
}); 

나는 pizza를 응답 경로와 그 전제 조건이다 cheekibreeki에 할당 된 이름을했다. 선행 조건 내의 응답 된 데이터는 request.pre['assignedname'] 내부의 경로 처리기에서 사용할 수 있습니다.

또 다른 방법은 request.app 개체를 사용하는 것입니다.

경로 처리기로 진행하지 않으려면 reply().takeover() 메서드를 사용해야합니다.

희망이 도움이됩니다.