2014-01-21 4 views
3

html 페이지 &을 다운로드하여 다음 함수로 전달하고 싶습니다. 단계를 사용하여 함수를 직렬화했습니다. 페이지를 다운로드하기 위해 요청 모듈을 사용하고 있습니다.node.js 요청 모듈, 다음 함수를 사용하여 요청 된 URL의 본문을 다음 함수로 전달하는 방법

var Step = require('step'); 
    var request = require('request'); 

    Step(
    function getHtml() { 
    if (err) throw err; 
    var url = "my url here"; 
    request(url, function (error, response, html) { 
    // i want to pass the html object to the next function view 
    }); 

    }, 
    function view(err, html) { 
    if (err) throw err; 
    console.log(html); 
    } 
    ); 

난 후 다음 기능에 전체 페이지 데이터 (응답 & HTML)를 통과 request(url, this)을합니다.

html을 다음 함수에만 전달하도록 위 코드를 어떻게 변경합니까?

답변

1

단계 문서에서 기억 :

그것은 인수로 기능의 수를 허용하고 다음 단계로 콜백으로 이러한 맥락에서 전달하여 일련 순서대로 실행됩니다.

각 단계가 호출 될 때 this이 다음 단계로 콜백합니다. 그러나 request 전화로 콜백을 입력하면 this이 그 시점까지 변경됩니다. 그래서, 우리는 그냥 캐시합니다.

추가 내용은 "< ------"으로되어 있습니다. 해피 코딩!

관련 문제