함수 안에 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/