concatMap Добавление дополнительных элементов в массив

У меня есть следующий фрагмент кода:

public getDomains(): Observable<any[]> {
    const customer = this.storage.getCustomer();
    const apiUrl= this.configuration.getApiUrl(customer);
    return this.http.get((`${apiUrl}/domains`).toLowerCase())
        .map((response) => response.json() || []);
}

const domains = this.myService.getDomains().
    .shareReplay()
    .concatMap((domains) => domains.map((domain) => this.toDomainModel(domain, myObservable)))
    .filter((domain) => this.isValidDomain(domain))
    .toArray();

Моя сетевая вкладка показывает ответ на запрос в виде массива с 3 элементами. Но каким-то образом, даже после удаления всего и оставления только .toArray(), он превращается в массив из 3 элементов, где каждый элемент сам по себе является массивом из 3 элементов. Сетевой ответ дублируется где-то 4 раза.

Я вызываю метод службы, который возвращает массив элементов, которые я затем отправляю через эту цепочку методов. По какой-то причине, и я полагаю, что это может быть связано с concatMap, я получаю больше элементов, чем первоначально возвращала конечная точка.

Я должен получить 3 элемента из запроса, а затем фильтр должен удалить 2 из них, поэтому мне следует оставить один. Я новичок в rxjs, и мне любопытно, является ли это обычным поведением с concatMap.

Любые идеи? Спасибо


person User 5842    schedule 26.01.2018    source источник
comment
Поделитесь минимальным, полным и поддающимся проверке примером.   -  person Ele    schedule 27.01.2018
comment
Я добавил больше кода @EleazarEnrique, этого достаточно? Могу предоставить больше, если нужно   -  person User 5842    schedule 27.01.2018
comment
Ваш текущий результат и ожидаемый результат были бы полезны.   -  person Jack Guy    schedule 27.01.2018
comment
Я добавил больше текста @Harangue   -  person User 5842    schedule 27.01.2018
comment
@IngoBürk Нет, вы можете дать ему итерацию, и он сгладит его для вас. Однако то, как это используется здесь, немного странно. stackoverflow.com/a/42482824/1008741   -  person Jack Guy    schedule 27.01.2018
comment
Да, я тоже сейчас заметил. Удалил мой комментарий. :)   -  person Ingo Bürk    schedule 27.01.2018
comment
Извините, @ User5842, но в вашем наблюдаемом нет ничего явно плохого, особенно в том контексте, который нам дали. Если бы мне пришлось рискнуть предположить, я бы сказал, что проблема связана с вашими подписками, но если при прямом toArray ответе по сети проблема все еще проявляется, то из кода, который вы разместили, нет никакой информации.   -  person Jack Guy    schedule 27.01.2018