자바스크립트 콜백
자바스크립트가 쉽다 쉽다라고 말하지만, 정작 콜백 부분은 정말 어려운 것 같다.
아무리 찾고 또 찾아도 제대로 된 예제가 없어서 상당히 난감했다.
드디에 제대로 된 콜백기능을 찾았다.
예졔 ) 드래그해서 퍼갈 수 있습니다.
/* 사용할 function 작성, n값은 작성 필요없음 */
function fn_test ( n, callback ){
var vReturn = false;
if( typeof callback === "function" ){ //callback여부를 확인한다.
callback.prototype = 0; //해당 함수의 콜백을 여러번 쓴다면 쓸 때마다 값을 변경해줘야한다. 한번만 사용하니 하드코딩으로 처리 "0"
vReturn = true;
} // 해당부분을 넣어주는 이유는 fn_test를 사용할때, 항상 callback 기능을 사용할지 안 할지 모르기 때문에, callback을 사용하지 않아도 정상적으로 실행될 수 있도록 처리해줌
/* 사용하고 싶은 스크립트를 작성하면 된다. 예를 들어서 ajax*/
$.ajax({
type: "POST",
url: "/test.do",
dataType: "json",
data: "",
async: true,
success:
function (data) {
alert("good");
return (vReturn) ? new callback(true) : false; // callback에서 true 반환, callback 사용하지 않으면 false 반환
},
error:
function ( request,status,error ) {
alert("noGood");
return (vReturn) ? new callback(false) : false; // callback에서 false 반환, callback 사용하지 않으면 false 반환
}
}); // ajax
}// function fn_test 작성 종료
/* 만들어진 함수사용 */
fn_test( 1, function( cReturn ){ //callback에서 ajax가 성공하면 true, 실패하면 false 반환받음
if( cReturn ){
alert( "true" );
}else{
alert( "false" );
}
} );
function fn_test 안에 return으로 function을 넣어서 순차적으로 실행된다고 보면 될 것 같다.
'IT 자료' 카테고리의 다른 글
java http인지 https인지 확인하는 법 (0) | 2016.12.15 |
---|---|
DB2 CHARINDEX (LOCATE) 사용법 (0) | 2016.12.05 |
DB2] LISTAGG 집계 함수 (0) | 2016.11.03 |
로컬 개발환경 tomcat ssl 설치 (0) | 2016.10.13 |
DB2 메모리 사용량 확인 (0) | 2016.09.27 |