Angular.js 服务是单例还是每次都创建?

Are Angular.js services singletons or created each time?

我对 Angular.js 的工厂和服务有些困惑。

本题中:

angular.service vs angular.factory

它说服务是用[=​​11=]关键字创建的。

在这个问题中:

Confused about Service vs Factory

它说服务是"singletons"。

我的问题是:

当您将 'service' 作为依赖项注入参数添加到另一个模块时,Angular 是否每次都创建一个新服务?或者它真的是单例(如将创建一个,然后在任何地方提供该特定实例)?

Angular 服务是:

  • 延迟实例化 – Angular 仅在应用程序组件依赖时实例化服务 就可以了。
  • Singletons – 依赖于服务的每个组件都获得对单个实例的引用 由服务工厂生成。

Github官方文档

"All AngularJS services are singletons. This means that there is only one instance of a given service per injector."

阅读:

John Papa style guide.(除了回答您的问题外,还推荐与 AngularJS 一起工作)。

AngularJS docs.