Что не так с этим провайдером Angular на фабрике? - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь предоставить другого провайдера на основе типа платформы

app.module.ts:

const STORAGE = new InjectionToken<StorageInterface>('StorageInterface');

@NgModule({
    providers: [
       {
            provide: STORAGE,
            useFactory: getStorage,
            multi: true,
            deps: [
                PLATFORM_ID
            ]
        },
    ]
});

export function getStorage(platoformId: Object) {
    if (isPlatformServer(platoformId)) {
        return new ServerStorageService();
    }
    return new LocalStorageService();
}

класса, где я использую службу STORAGE

constructor(@Inject(STORAGE) private storage: StorageInterface){
   console.log(this.storage); // [LocalStorageService] -_-"
}

Как я могу использовать этого провайдера в другом компоненте / услуге?Что-то не так я написал?

...