각진 이유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에 의한 이점은 거의 없습니다.
폐지 통지(v1.5)
그
$http레거시 약속 방식success그리고.error더 이상 사용되지 않습니다.표준 사용then대신 메서드를 사용합니다.한다면$httpProvider.useLegacyPromiseExtensions로 설정되어 있다.false그러면 이 방법들이 던져질 것이다.$http/legacy에러입니다.
갱신하다
폐지된.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; ... });
약속과 관련하여 javascript를 사용하는 패턴은.then(successCallback, errorCallback)그래서 그들은 js 패턴을 사용하는 것을 목표로 하고 있을 것이다.
언급URL : https://stackoverflow.com/questions/35329384/why-are-angularjs-http-success-error-methods-deprecated-removed-from-v1-6
'programing' 카테고리의 다른 글
| React에서 "colSpan" 속성을 추가하는 방법JS (0) | 2023.02.22 |
|---|---|
| AngularJS - 부울 값을 가진 모델에 라디오 버튼 바인딩 (0) | 2023.02.22 |
| JSON.net을 사용하여 동일한 속성의 단일 항목과 어레이를 모두 처리하는 방법 (0) | 2023.02.22 |
| mongodb에서 N개의 문서를 삭제하는 방법 (0) | 2023.02.22 |
| 어떤 컨트롤러의 $scope 변수를 AngularJS에서 다른 컨트롤러와 공유하려면 어떻게 해야 합니까? (0) | 2023.02.22 |