2011-09-12 3 views
1

나는 ASYNC 프로그래밍에 익숙하다. 그래서 나와 함께 참 아라. 예기치 않게 느려질 수있는 웹 서비스 API에 대한 호출이 있습니다. 프론트 엔드에서 "로딩"라이트 박스 등으로 처리 할 수 ​​있습니다.Node.JS에서 지연된 작업을 올바르게 처리하려면 어떻게합니까?

var req = http.request(options, function(res) { 
    res.on('data', function(chunk) { 
    doStuff(); 
    }); 

    res.on('end', function() { 
    doMoreStuff(); // This can take a while to get to. 
    return someInfo(); 
    }); 
}); 

req.end(); 

이 모든이 makeRequest 모듈에 그러나, 백엔드에, 나는 나의 요청을해야합니다. 그렇다면 makeRequest에 콜백 함수를 전달한 다음 'end' 이벤트 이후에 실행해야합니까? 이것은 매우 긴 체인 구조로 이어질 수있는 것처럼 보입니다.

이렇게 구조화하는 방법에 대한 도움은 크게 감사하겠습니다.

참고 : 위의 구문 오류가있는 경우이를 예, 일반적으로 당신은 당신이에있는 어떤 기능에 콜백을 통과 할 의사

답변

1

의 이해, 언제하시기 바랍니다 대부분의 의사는 '끝' 요청에서 수집 한 데이터를 가져와 콜백에 전달해야합니다.

나는 그것이 가상 코드라는 것을 깨닫고, 당신은 알 수 있습니다, 나는 단지 그것을 말하고 싶습니다. '데이터'는 두 번 이상 호출 될 수 있으며 마지막 함수에서 '반환'은 아무 것도하지 않는다는 것을 기억하십시오.

요청을 수행하는 예를 보려면 여기를 클릭하십시오. Why won't my ExpressJS properly execute a request command?

+0

반환은 'CoffeeScript'의 흔적입니다. 답변을 주셔서 감사합니다! – Shamoon

관련 문제