有人可以解释一下$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
接下来会发生什么?该对象如何得到解决或拒绝?
答案 0 :(得分:106)
调用$q.when
接受承诺或任何其他类型,如果它不是承诺,那么它将把它包装在一个承诺和调用解析中。如果你传递一个值,它永远不会被拒绝。
来自文档:
将可能是值的对象或(第三方)包装成$ q承诺。当您处理可能会或可能不是承诺的对象,或者承诺来自不可信任的源时,这非常有用。