Как работает Angular $q. when?


может кто-нибудь объяснить мне, каким образом $q.when работа в AngularJS? Я пытаюсь проанализировать, как $http работа и нашел это:

var promise = $q.when(config);

а вот конфиг-объект из консоли Chrome:

Object {transformRequest: Array[1], transformResponse: Array[1], cache: Object, method: "GET", url: "/schedule/month_index.html"…}
cache: Object
headers: Object
method: "GET"
transformRequest: Array[1]
transformResponse: Array[1]
url: "/schedule/month_index.html"
__proto__: Object

что будет дальше? Как этот объект get разрешен или отклонен?

1 85

1 ответ:

вызов $q.when принимает обещание или любой другой тип, если это не обещание, то он обернет его в обещание и вызовет решение. Если вы передадите ему значение, то оно никогда не будет отклонено.

документы:

обертывает объект, который может быть значением или (3rd party) then-able promise в $q promise. Это полезно, когда вы имеете дело с объектом, который может быть или не быть обещанием, или если обещание исходит из источника, который не может быть доверившийся.