두 번째 return
은 .then()
메서드에 대해 정의 된 익명 콜백 메서드에 속합니다.
일반적으로
function jsonCallback(data, status, xhr) {
return data;
}
function getPost(id) {
return $.getJSON('/posts/'+ id).then(jsonCallback);
}
, 뭔가 : 당신은 모두 익명 함수를 닉스 경우, 그것은 다음과 같이 보일 것이다
function getPost(id) {
return $.getJSON('/posts/'+ id).then(
function(data, status, xhr) {
return data;
}
);
}
: 적은 표준화 뭔가 서식을 변경하면 시각화 쉬울 것이다 이 질문은 귀하의 질문에있는 그대로 설정되지만, 그것들을 분리하면 초보자를 쉽게 볼 수 있습니다.
기본적으로 .then()
메서드는 다른 함수 (위의 익명 메서드/jsonCallback
)를 매개 변수로 사용한다고 가정 할 수 있습니다. 그 내에서, 아마이 (또는 적어도 호출)과 같은 형태 몇 가지 코드 :
function then(callback) {
if(callback && typeof(callback) === typeof(Function) {
callback(data, status, xhr); // data, status, and xhr are probably defined eslewhere in the object
}
}
확실히 jQuery의 deferred.then()
방법의 지나치게 단순한 예입니다,하지만 당신은 아이디어를 얻을.다음 방법은 경우에 말하는 것을 호출 할 때 당신이 $.getJSON('/posts/' + id)
보면 그래서 당신은 객체가 반환 된 것을 발견 할 것이다
왜 downvote? 나는 내 대답을 향상시키는 것보다 행복 할 것이다. – valverij