Q:

AngularJs Circular Dependency for Interceptor

I have the following circular dependency:
            $http
            /   \
           /     \
          /       \
         /         \
LoginManager------Interceptor
 (service)         (factory)

This Circular dependency only emerged after I added the code for Interceptor. 
Interceptor will call the logout function in LoginManager in case a certain response in intercepted. 

From what I see, only solution is to move interceptor code inside the LoginManager service as an anonymous factory

Is there any better way?

A:

You can avoid the circular dependency by using the injector service to get an instance of LoginManager at runtime.
var loginManager = $injector.get('LoginManager');

Just make sure you use this code inside one of the methods of the interceptor (e.g responseError) and not directly in your interceptor creation code.

