web-dev-qa-db-fra.com

Comment fonctionne Angular $ q.when?

Quelqu'un peut-il m'expliquer comment $q.when travaille dans AngularJS? J'essaie d'analyser comment $http travail et a trouvé ceci:

var promise = $q.when(config);

Et voici l’objet config de Chrome console:

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

Qu'est-ce qui se passe ensuite? Comment cet objet est résolu ou rejeté?

91
SET

Appeler $q.when prend une promesse ou tout autre type, si ce n’est pas une promesse, il s’enroule dans une promesse et appelle résolution. Si vous lui transmettez une valeur, elle ne sera jamais rejetée.

De la docs:

Enveloppe un objet qui pourrait être une valeur ou une promesse (tierce partie) alors possible dans une promesse $ q. Ceci est utile lorsque vous traitez avec un objet qui pourrait ou non être une promesse, ou si la promesse provient d'une source qui ne peut pas être approuvée.

109
Derek Ekins