2016-09-18 2 views
-1

그래서 종류의 요청이 그것을 수행하는 방법처럼 내가 콜백에 변수/데이터를 전달할 수있는 방법을 주위에 내 머리를 정리하려고 해요 : nodejs 콜백에 값을 전달하는 방법

var request = require('request'); 
request('http://www.google.com', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
    console.log(body) // Show the HTML for the Google homepage. 
    } 
}) 

어떻게 개발자가 할 사용자가 콜백에 오류, 응답 및 본문을 전달하여 사용 하시겠습니까?

function main(_arg1, _arg2, callback) { ... } 

하고 내가 그것을 호출 할 때 내가

main('test1', 'test2', function(a, b){ console.log(a+b); } 

올바른

같은 일을 할 것입니다 : 예를 들어, 내가 기본적인 주요 기능이 있다고? 그래서 _arg1_arg2을 콜백에 전달하면 test1test2과 같은 결과가 출력됩니까?

나는이 모든 것을 stackoverflow를 통해 보았지만, 이것에 관해서는 아무것도 찾을 수 없었다. 그래서 이것이 중복된다면 나는 미안하다.

그러나 도움말이나 설명은 크게 감사하겠습니다. :)

답변

3

콜백을 호출 할 때 인수로 전달하기 만하면됩니다. 다음은 그 예입니다.

// define a function that accepts a callback argument 
function callMeBackPlease(x, y, callback) { 
    // call the callback and pass it the desired arguments 
    callback(x+y, x/y); 
} 

// call the function and pass it a callback function 
callMeBackPlease(3, 5, function(sum, div) { 
    console.log(sum, div); // outputs 8, 0.6 
}); 

콜백은 단지 기능에 불과합니다. 그리고 Javascript에서는 다른 함수를 호출 할 때 함수를 인수로 전달할 수 있으며 전달 된 함수는 적절한 인수가있는 콜백 함수를 호출 할 수 있습니다.

+0

좋아요. 다른 질문에서 본 것처럼 콜백의 긴 정의 대신 명확하고 간단한 예제를 보내 주셔서 감사합니다. 미안하지만 이것은 매우 안타까운 질문 이었지만 여전히 비동기 프로그래밍에 적응하려고 애 쓰고 있습니다 – AmouxTechnerd

+0

@AmouxTechnerd : * "다른 질문에서 본 것처럼 콜백의 긴 정의 대신에"* 콜백은 단지 함수입니다 . 그게 당신이 필요로하는 모든 정의입니다.) "콜백"은 함수의 목적이 무엇인지 조금 더 잘 설명합니다. –

관련 문제