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é?
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.