我写了一个服务来访问Spotify api。 在构造函数中,此服务应获取访问令牌。 因此,我在Observable上调用了subscribe方法。
问题在于:
该服务被注入到我的主要组件中。 我在那里调用该服务的方法以从Spotify API接收数据。 我认为问题在于,在对api的第一个请求尝试使用它之前,尚未收到访问令牌。
我该怎么做,以便仅在构造函数获取访问令牌之后才注入服务?
答案 0 :(得分:1)
如果要获取服务的实例但不通过构造函数注入,则可能要使用jector.get方法获取实例。像-
const notificationService = this.injector.get(NotificationService);
有关更多详细信息/示例,请参阅-
https://medium.com/@aleixsuau/error-handling-angular-859d529fa53a,Inject a service manually, https://angular.io/api/core/Injector#get