2013-11-16 4 views
0

рядом с успехом, ошибка, а затем, сделать $ http получить обещание покоя предложить больше состояний, на которые мы можем действовать? Я однажды зарегистрировал в консоли сырой ответ, который показал эти 3 состояния и более, но не помню, какой.Что представляют собой обещания Angularjs?

+0

довольно грустно, вы не можете найти ответ в документации, и пусть кто-то еще искать их для вас – charlietfl

ответ

3

$http сервис распространяется на $q службы. $http имеет 2 дополнительных методов (успех, и ошибки) в верхней части существующих методов, предусмотренных $q (приведены ниже):

.then (successCallback, errorCallback, notifyCallback) - независимо от того, когда обещание было или будет разрешен или отклонен, а затем вызовет один из успешных или ошибочных обратных вызовов асинхронно, как только будет доступен результат. Обратные вызовы вызываются с помощью одного аргумента: причина или отклонение. Кроме того, обратный вызов уведомления может быть вызван ноль или более раз, чтобы обеспечить индикацию выполнения, прежде чем обещание будет разрешено или отклонено. Этот метод возвращает новое обещание, которое разрешено или отклонено с помощью возвращаемого значения successCallback, errorCallback. Он также уведомляет через возвращаемое значение метода notifyCallback. Обетование не может быть разрешено или отклонено из метода notifyCallback.

.catch (errorCallback) - сокращение для promise.then (нуль, errorCallback)

.finally (обратный вызов) - позволяет наблюдать либо исполнения или отказ от обещания, но сделать поэтому без изменения конечного значения. Это полезно для выпуска ресурсов или выполнения некоторой очистки, которая должна быть выполнена, если обещание было отклонено или разрешено. Дополнительную информацию см. В полной спецификации.

Смежные вопросы