AngularJS services
AngularJS services are singleton entities that are usually used to share information between different entities of the same AngularJS application. Services can be used to fetch data from your server, share cached data, and inject global objects into other AngularJS components. Since there is a single instance of each service, it is also possible to use two-way data binding between different unrelated entities of your AngularJS application. There are two kinds of services: AngularJS prebundled services and custom services. Let's begin by reviewing the former.
AngularJS prebundled services
AngularJS comes prebundled with many services to abstract common development tasks. Commonly used services include:
$http
: This is an AngularJS service used to handle AJAX requests$resource
: This is an AngularJS service used to handle RESTful APIs$location
: This is an AngularJS service used to handle URL manipulations$q
: This is an AngularJS service used to handle promises$rootScope
...