programing

각진 이유JS $http 성공/오류 메서드가 더 이상 사용되지 않습니까?v1.6에서 삭제되었습니까?

madecode 2023. 2. 22. 23:21
반응형

각진 이유JS $http 성공/오류 메서드가 더 이상 사용되지 않습니까?v1.6에서 삭제되었습니까?

앵귤러JS 매뉴얼에는 다음 사항에 대한 폐지 통지가 있습니다.$http success그리고.error방법들.이 추상화가 라이브러리에서 제거된 특별한 이유가 있습니까?

문제는 이었습니다..success그리고..error메서드는 반환값을 무시하기 때문에 체인할 수 없습니다.이것은 체인에 익숙한 사람들에게 문제를 일으켰고 체인에 익숙하지 않은 사람들의 잘못된 코드를 부추겼다.지연된 안티패턴을 사용하는 StackOverflow의 모든 예를 확인합니다.

각도 중 하나를 인용하려면JS팀:

IMO.success그리고..error애초에 API 설계의 나쁜 부분이었다.이 호에서는 개발자가 다음 중 하나를 예상하기 때문에 혼란스러워하는 여러 상황을 강조합니다..success그리고..error같은 방법으로 일하다.then또는 그 반대도 마찬가지입니다.완벽한 세상에서는 차라리 이것들을 버리고 싶다.$http특정 "실행"입니다.대신 개발자들에게 표준을 사용하도록 권장할 수 있습니다.$q약속 API.then그리고..catch응답 오브젝트를 사용하는 것보다 명시적인 파라미터를 사용하는 것이 IMO에 의한 이점은 거의 없습니다.

- 각진JS호 10508$http .success/.error하는 것과는 다르다.then작동하다.

폐지 통지(v1.5)

$http레거시 약속 방식success그리고.error더 이상 사용되지 않습니다.표준 사용then대신 메서드를 사용합니다.한다면$httpProvider.useLegacyPromiseExtensions로 설정되어 있다.false그러면 이 방법들이 던져질 것이다.$http/legacy에러입니다.

- 각진JS $http Service API Reference -- 폐지 알림


갱신하다

폐지된.success그리고..error방법은 AngularJS 1.6에서 제거되었습니다.

b54a39 때문에$http에서 권장되지 않는 커스텀콜백 방식:.success()그리고..error()- 제거되었습니다.스탠다드를 사용할 수 있습니다..then()/.catch()대신 메서드의 시그니처와 반환값이 다르다는 점에 주의해 주십시오.

$http(...)
  .then(function onSuccess(response) {
    // Handle success
    var data = response.data;
    var status = response.status;
    var statusText = response.statusText;
    var headers = response.headers;
    var config = response.config;
    ...
  }).catch(function onError(response) {
    // Handle error
    var data = response.data;
    var status = response.status;
    var statusText = response.statusText;
    var headers = response.headers;
    var config = response.config;
    ...
  });

- 각진JS 개발자 가이드 - v1.6으로의 이행 - http

약속과 관련하여 javascript를 사용하는 패턴은.then(successCallback, errorCallback)그래서 그들은 js 패턴을 사용하는 것을 목표로 하고 있을 것이다.

언급URL : https://stackoverflow.com/questions/35329384/why-are-angularjs-http-success-error-methods-deprecated-removed-from-v1-6

반응형