함수 안에 ajax는 리턴값을 받아올 수 없나요?

함수 안에 ajax는 리턴값을 받아올 수 없나요?

QA

함수 안에 ajax는 리턴값을 받아올 수 없나요?

본문

function findmemberId(memberId) {
   
    var fieldValue = "test";    

    var promise = $.ajax({

    url: "<? echo G5_THEME_URL.'/util/ajaxGetMemberId.php'; ?>",
    type            : 'POST',
    data: {
        fieldValue : fieldValue
    },
    });

    
    promise.done(successFunction);
    promise.fail(failFunction);
    
    function successFunction(data){

        return "success";

    }
    

    function failFunction(data){ 

        return "fail";

    }    
    return "종료";
}

 

 

 

함수를 실행시키고 성공하면 값을 리턴 받으려고 하는데

정상적으로 성공시켜도 비동기방식이다보니 함수는 미리 리턴값을 종료로 받아버립니다. findmemberId()

findmemberId() 함수의 리턴값을 성공했을 때 받는 방법이 있을까요?

실행순서를 찍어보니

함수가 실행되면 바로 "종료" 리턴, 그래서 ajax 실행 후 "성공" 함수는 실행되고 잘 수행되지만, findmemberId() 함수의 리턴값을 주지못함. findmemberId() 함수는 이미 리턴값을 "종료"로 받았기 때문이라고 생각합니다.

이 질문에 댓글 쓰기 :

답변 2

async: false, 옵션을 사용하여 동기화 시키던지
프라미스를 반환하여 "then"으로 처리하던지...

https://joshua1988.github.io/web-development/javascript/promise-for-beginners/

답변을 작성하시기 전에 로그인 해주세요.
전체 123,633 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT