2011-12-27 5 views
2

이것은 매우 간단한 질문 일 수 있지만이를 수행하는 가장 일반적인 방법은 무엇인지 모르겠습니다.Node.js 라우팅 및 API 호출 구성

API 호출을하고 그 결과를 반환하는 경로가 있습니다. 문제는 경로가 API 호출이 완료 될 때까지 기다리지 않고 즉시 응답을 보냅니다.

응답 구조가 콜백에서 시작되도록 구조화해야하는 것처럼 보이지만이 경우 가장 좋은 방법이 무엇인지 정확히 알지 못합니다.

app.get('/', function(req, res){ 
    var info = timesheet.getData(); // This function makes API call and 
             // waits for response, then returns 
             // data in callback function 

    res.send(info);     // info is undefined since this fires 
             // before the API response is finished 

}); 

감사합니다. 여러분 정말 좋습니다. 존

답변

1

timesheet.getData 콜백 매개 변수를 허용 않습니다 (편집 내 코드는 더 정직하고 질문을 할 수 있습니다)? 데이터를 비동기 적으로 수집하는 경우에는 그렇지 않다고 생각합니다. 그 다음 네, 너무처럼 거기에 당신의 res.send을 넣어 않는 경우

app.get('/', function(req, res) { 
    timesheet.getData(function(info) { 
     res.send(info); 
    } 
}); 

하지 다음의 경우, 잘 모르겠어요; 이 응답을 삭제 해 드리겠습니다.

+0

나는 모든 것을 썼다. 그래서 콜백을 가지고 있지 않았다. 그러나 나는 콜백 함수에 대해 읽었고, 그들이 작동해야하는 방식을 이해 한 후에 하나를 썼다. 감사! – John