Ich habe einen Dienst (AuthService), auf den ich in meiner restangularInit
Funktion zugreifen muss (in meinem app.module.ts), aber ich weiß nicht, wie, ich kann nicht darauf zugreifen .Benötigt Zugriff auf Service in Funktion
Ich habe versucht, es in die Klasse AppModule zu verschieben, aber bis dahin ist es zu spät.
Aufruf der Servicefunktionen z. getToken
funktioniert wie erwartet.
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { MaterialModule } from '@angular/material';
import { FlexLayoutModule } from "@angular/flex-layout";
import { RestangularModule } from 'ng2-restangular';
// Components
import { AppComponent } from './app.component';
import { ProductComponent } from './components/product/product.component';
// Services
import { AuthService } from './services/auth.service';
export function restangularInit(RestangularProvider, AuthService) {
console.log(AuthService); // this is undefined
let token = AuthService.getToken(); //This is what I want to do
RestangularProvider.setBaseUrl('api');
RestangularProvider.setDefaultHeaders(
{'Authorization': 'Bearer ' + token},
);
}
@NgModule({
declarations: [
AppComponent,
ProductComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
MaterialModule,
FlexLayoutModule,
RestangularModule.forRoot(restangularInit)
],
providers: [
AuthService
],
entryComponents: [ProductComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
das Problem ist, dass der Dienst ein Versprechen verwendet die Token von localforage zu holen. so dass die Anfragen gesendet werden, bevor das Token gesetzt ist :( – Mackelito