반응형

오늘 겪었던 내용을 바탕으로 포스팅 하겠습니다 

 

상황은 이러합니다 

 

팝업 페이지에서 사용하고자 하는 api함수가 메인 페이지에 이미 import 되어있습니다 

이럴 때 우리는 자연스레 opener.api함수명(); 과 같이 사용하겠죠

 

이 api함수명이 test라고 해봅시다 구조를 살펴보면

function test (l1, l2, callback){

    무수한 변수들
    내용

    $.ajax({
        url : url
        type : 'post'
        success : function (res) {

            result.result = "success";
            result.data = res;

            if (instanceof callback == "function") {
                callback(result);
            }

        }

    });

}

 

대략적인 함수의 내용입니다

 

이 함수를 호출해서 결과값을 받아와야 하는데 자꾸 콜백 함수로 리턴이 돌아오질 않더라구요 

 

호출했던 부분은 이렇습니다

opener.test( "data1", "data2", function (res){

	console.log(res);
    
});

 

콘솔에 찍혀야 맞는 res가 안찍힙니다

 

고심끝에 찾아낸 내용은 api함수 자체에 있었습니다 

 

            if (instanceof callback == "function") {
                callback(result);
            }
            
         	>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
            
			if (typeof callback == "function") {
                callback(result);
            }

 

instanceof 와 typeof 가 다르다는것을 간과하고있었습니다 

 

이것때문에 1시간 정도 삽질을 했네요 다시 잊지 않도록 포스팅하며 서칭해도 내용이 나오질 않아서 포스팅합니다

 

여러분 안풀릴땐 하나하나 뜯어서 다 확인해보는 버릇을 가지도록 합시다

저 또한 그러도록 노력하겠습니다 

 

감사합니다!

반응형
복사했습니다!