AngularJS服务的目的

use*_*662 8 angularjs angularjs-service

我是AngularJS的新手.我正在寻找这些服务.其中一些服务看起来像JavaScript中已有的替换功能.例如,$ timeout服务.为什么AngularJS有这些服务?有技术原因吗?这种方法有什么好处吗?我只是不明白使用这些服务的必要性.

感谢您的任何帮助.

JB *_*zet 7

服务是一个函数或对象,具有一组方法,可以由应用程序的多个组件(控制器,指令,过滤器,其他服务)使用.

"包装"服务与其全局函数等效$timeout或相似的主要优点$window是它们由Angular注入,因此可以在单元测试中进行模拟,即由伪实现替换.

阅读角度文档中有关依赖注入的章节.$timeout特别是关于服务,它的文档解释了除了本机setTimeout()功能之外它还做了什么.