본문 바로가기
IT 자료

javascript callback

by 성곤 2016. 11. 22.
반응형


자바스크립트 콜백



자바스크립트가 쉽다 쉽다라고 말하지만, 정작 콜백 부분은 정말 어려운 것 같다.


아무리 찾고 또 찾아도 제대로 된 예제가 없어서 상당히 난감했다.


드디에 제대로 된 콜백기능을 찾았다.




예졔 ) 드래그해서 퍼갈 수 있습니다.


/* 사용할 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