AngularJS:为什么在您离开当前摘要之前$ http实际上不会发出http请求?

Fra*_*man 5 angularjs

http://docs.angularjs.org/api/ng.$ http的$ http的AngularJS文档说明"$ http服务实际上不会发送请求,直到执行下一个$ digest()."

我只是想知道它为什么不立即发出HTTP请求?这似乎是一个不必要的要求,我想知道我错过了什么.

更新:有人建议这是必要的,因为完成处理程序将需要更新摘要.但是,这些完成事件需要在以后的任何一种情况下进行自己的$ apply/$ digest调用.

mma*_*tax 1

这实际上是因为 $http 是基于承诺的。完整说明在这里:https ://github.com/angular/angular.js/issues/2794#issuecomment-18807158