将数据从node.js发回客户端?

我发送一个POST请求到客户端的node.js。在请求的处理程序中,我正在用数据发出一个http Post Request(在node.js中),这会给我一个json数据作为响应,然后依次使用这些数据我正在做另一个HTTP POST请求(在node.js),这给了我一组数据作为响应。 现在我想把这个响应数据返回给处理函数,这样,作为响应接收到的数据集可以发送回客户端。我可以如何实现这一点。

server.route({ path:"/test", method:"POST", handler:function(request,reply){ var load=request.payload; UserAuth(load); return reply({status:"Ok"}); } }); function UserAuth(newdata){ request({ har:{ url:"URL", method:"POST", headers:[ { name:'content-Type', value:"application/x-www-form-urlencoded;charset=utf-8" } ], postData:{ mimeType: 'application/x-www-form-urlencoded', params:[ { name:"username", value:UserDetails["username"] }, { name:"password", value:UserDetails["password"] }, { name:"output_mode", value:UserDetails["output_mode"] } ] } } },function(error,response,body){ var obj = JSON.parse(body); if(obj.sessionKey != null || obj.sessionKey!=""){ PostDataToS(newdata,obj.sessionKey); }else{ console.log(error); } }); } function PostDataToS(data,sessionkey){ request({ har:{ url:SEARCH_URL, method:"POST", headers:[ { name:'content-Type', value:"application/x-www-form-urlencoded;charset=utf-8" }, { name:"Authorization", value:sessionkey } ], postData:{ mimeType: 'application/x-www-form-urlencoded', params:[ { name:"search", value:data["search"] }, { name:"preview", value:"false" }, { name:"output_mode", value:"json" }, { name:"exec_mode", value:"oneshot" } ] } } },function(error,response,body){ obj2 = JSON.parse(body); var secondLayer=obj2.results; returnfunc(secondLayer); }); } function returnfunc(data){ console.log("inside return func"); console.log(data) } 

我必须将“returnfunc()”中收到的数据发送回“/ test”请求处理程序中的客户端。

只需将回复函数传递给您的callback函数

 server.route({ path:"/test", method:"POST", handler:function(request,reply){ var load=request.payload; UserAuth(load); } }); function UserAuth(newdata, reply){ request({...},function(error,response,body){ var obj = JSON.parse(body); if(obj.sessionKey != null || obj.sessionKey!=""){ PostDataToS(newdata,obj.sessionKey, reply); } else { console.log(error); } }); } function PostDataToS(data, sessionkey, reply){ request({...},function(error,response,body){ obj2 = JSON.parse(body); var secondLayer=obj2.results; reply.continue(obj2.results); }); }