Rx JS - Преобразование цепочки обещаний в наблюдаемые не работает - PullRequest
2 голосов
/ 06 апреля 2020

Я пытаюсь преобразовать цепочку обещаний:

this.tradeTypesLogicService.getList().$promise
    .then(this.filterTradeTypes)
    .then(this.setSelectedTradeType)

в rx js наблюдаемую:

this.tradeTypesLogicService
    .getList() //returns observable now
    .pipe(mergeMap(this.filterTradeTypes), map(this.setSelectedTradeType))
    .subscribe();



protected filterTradeTypes = (tradeTypes: Array<any>) => {
    this.tradeTypes = filter(tradeTypes, (trade) => {
        if (trade.id === this.mappedItem.tradeTypeId && !trade.isActive) {
            trade.label = trade.label + " (inactive)";
            return true;
        }
        return trade.isActive;
    });
    return this.tradeTypes;
}



public setSelectedTradeType = (tradeTypes): void => {
    this.selectedTradeTypeModel = tradeTypes.find(tt => tt.id === this.mappedItem.tradeTypeId);
}

Мне нужно передать массив, который возвращается из filterTradeTypes в setSelectedTradeType, и он передает только один элемент из этого массива.

...