콜백을 사용하는 매우 일반적인 Node.js 스타일 예제를 보여 드리겠습니다.
/**
* Function expects these arguments:
* 2 numbers and a callback function(err, result)
*/
var myTest = function(arg1, arg2, callback) {
if (typeof arg1 !== "number") {
return callback('Arg 1 is not a number!', null); // Args: 1)Error, 2)No result
}
if (typeof arg2 !== "number") {
return callback('Arg 2 is not a number!', null); // Args: 1)Error, 2)No result
}
if (arg1 === arg2) {
// Do somethign complex here..
callback(null, 'Actions ended, arg1 was equal to arg2'); // Args: 1)No error, 2)Result
} else if (arg1 > arg2) {
// Do somethign complex here..
callback(null, 'Actions ended, arg1 was > from arg2'); // Args: 1)No error, 2)Result
} else {
// Do somethign else complex here..
callback(null, 'Actions ended, arg1 was < from arg2'); // Args: 1)No error, 2)Result
}
};
/**
* Call it this way:
* Third argument is an anonymous function with 2 args for error and result
*/
myTest(3, 6, function(err, result) {
var resultElement = document.getElementById("my_result");
if (err) {
resultElement.innerHTML = 'Error! ' + err;
resultElement.style.color = "red";
//throw err; // if you want
} else {
resultElement.innerHTML = 'Result: ' + result;
resultElement.style.color = "green";
}
});
그리고 결과를 렌더링 할 HTML :
<div id="my_result">
Result will come here!
</div>
여기에서 재생할 수 있습니다 : https://jsfiddle.net/q8gnvcts/- 예를 들어 숫자 대신 문자열을 전달하십시오 : myTest ( 'some string', 6, function (err, result) .. 결과를보십시오.
이 예제가 콜백 함수의 기본적인 아이디어를 나타 내기 때문에 도움이되기를 바랍니다.