Я использую NgRX 6 с Angular 6.
У меня есть эффект, который вызывает службу, эта служба возвращает строку.
По какой-то причине я получаю только последнюю буквустрока.
Это мой эффект
@Effect()
identityRedirect$ = this.actions$.pipe(
ofType(REDIRECT_TO_LOGIN),
switchMap(() =>
forkJoin(this.discoverService.getServiceUrl('{api:identity}'), this.discoverService.getServiceUrl('{site:self}'))
),
mergeMap(([x, y]: [string, string]) => {
console.log(x);
console.log(y);
return of({ type: REDIRECT_TO_LOGIN_SUCCESS, payload: 'foo' });
})
);
Я думал, что forkJoin
поможет, но все, что я вижу в своем журнале консоли, это последняя буква
Мой сервис обнаружения выглядит следующим образом
import { Injectable } from '@angular/core';
import endpoints from './endpoints';
@Injectable()
export default class DiscoverService {
constructor() {}
public getServiceUrl = (service: string) => {
const { domain, endpoint } = this.splitServiceObject(service);
return endpoints[domain][endpoint]['uri'];
}
private splitServiceObject = (service: string) => {
const moduleParams = service.split(/{(.*)}/);
const [domain, endpoint] = moduleParams[1].split(':');
return { domain, endpoint };
}
}