Согласно AngularJS doc , звонки, чтобы $httpвернуть следующее:
Возвращает объект обещания со стандартным методом then и двумя http-специфическими методами: success и error . Метод then принимает два аргумента: успех и обратный вызов ошибки, который будет вызван с объектом ответа. В успехе и ошибка метода принимает единственный аргумент - функцию , которая будет вызвана , когда запрос успешно или не соответственно. Аргументы, передаваемые в эти функции, представляют собой деструктурированное представление объекта ответа, переданного в метод then.
Помимо того факта, что responseобъект был разрушен в одном случае, я не понимаю разницу между
- обратные вызовы об успехе / ошибке передаются в качестве аргументов
promise.then - обратные вызовы, переданные в качестве аргументов для
promise.success/promise.errorметодов обещания
Есть ли? Какой смысл в этих двух разных способах передавать, казалось бы, идентичные обратные вызовы?
thenобратные вызовы принимают единственный аргумент - ответ - в то время какsuccessиerrorпринимать отдельные компоненты реакции как arguments--data,status,header, иconfig.