fancyParse
은 서버가 반환 한 응답을 다른 것으로 변환하는 기능을 가지고 있다고 가정합니다. 이 함수는 응답이 아무런 의미가 없거나 특별한 "내부 오류"플래그가 설정된 경우에 발생합니다.jQuery ajax 요청의 결과를 후 처리하는 가장 간단한 방법은 무엇입니까?
이 함수를 $.post
호출에 연결하여 새 Deferred
을 얻고 싶습니다. 요청이 실패하거나 fancyParse
이 throw되면이 새로운 지연이 실패합니다. 요청이 성공하고 fancyParse
이 성공하고 성공한 콜백에 fancyParse
의 결과를 전달하면 성공할 것입니다.
$.post('/url', etc).postprocess(fancyParse)
.done(my_done_handler)
.fail(my_fail_handler);
는 이미이 같은, 아니면 나는 그런 postprocess
자신을 작성해야 할 :
완벽한 솔루션은 다음과 같이 보일 것인가?
을하지만, 아마도 당신은 알고있다 요청이 실패한 것으로 간주되게 하시겠습니까? –
죄송합니다, 저는 몰라요. 하지만 예외를 잡아서 포스트 프로세서 내부에서 오류 처리기를 호출하는 것이 어떻습니까? – jbasko
오류 처리기를 호출하는 것보다 더 많은 것이 있기 때문입니다. * Deferred가 * rejected * 될 필요가있어 나중에 추가 된 오류 처리기도 호출됩니다. –