这实际上是因为$http是基于promise的。完整解释如下:https://github.com/angular/angular.js/issues/2794#issuecomment-18807158
$http的AngularJS文档http://docs.angularjs.org/api/ng.$http表示"在执行下一个$digest()之前,$http服务实际上不会发送请求。"。
我只是想知道为什么它不立即发出HTTP请求?这似乎是一个不必要的要求,我想知道我错过了什么。
UPDATE:有人建议这是必要的,因为完成处理程序需要更新摘要。但是,无论哪种方式,这些完成事件稍后都需要进行自己的$apply/$digest调用。