jQuery 3.1.0을 사용하여 알 수없는 번호의 $.ajax()
요청을 생성하고 배열에 결과 약속을 추가합니다.jQuery 3.1.0 then(), done() and when() error swallowing
$.when.apply($, myArray).then(myFunction, errorHandlingFunction);
는 myFunction이 테스트 중에 jQuery를 삼켜되고있는 오류를 (던지고있다 : 일단
myArray.push($.ajax(...).promise());
모든 요청 내가 사용하여 수행 할 수 있습니다 이해 함수를 호출 할 완료 내 모든 기능은 새로운 것을 던졌습니다. Error()
). mightThrow()
을 호출 한 후 실행이 catch에 들어가고 지연을 올바르게 거부하지만 이는 콘솔에 표시되지 않습니다.
적용 호출을 생략하고 다음을 수행해도 오류가 완전히 삼킨다. 디버거 라인도 명중되지 않습니다 :
myArray[0].then(function() {
throw new Error('test error');
}, function() { debugger; });
가 when()
을 제거 및 던지기에 휴식 할 수있는 다음과 같은 요인에 의해 실행을 수행 :
myArray[0].done(() => {
throw new Error('test error');
}).fail(function(){ debugger; });
이 then()
에 의해 실행 기능에서 발생하는 오류가있는 것 같습니다 항상 삼켰다. 또한 $.when(...).done(...)
의 함수가 done()
내부에있는 경우 오류가 삼키는 오류가 발생합니다.
나는 뭔가를 오해 했습니까? 아니면 jQuery의 버그/기능입니까?
내 대답은 코드와 관련되어 있으므로 참조하십시오. http://stackoverflow.com/a/39206980/104380 – vsync