Найти наблюдаемое в наблюдаемом массиве - PullRequest
0 голосов
/ 23 октября 2018

У меня есть наблюдаемый массив, выглядит как

obj_array: Array<Observable<SatzDetail[]>> = [];

Моя наблюдаемая выглядит как

let ob_oj = this.defAPi.getDetailSatz(dsn, date);

, и я помещаю эту наблюдаемую в массив, как это

 this.obj_array.push(ob_oj);

Позже я подписываюсь на эти элементы массива

Observable.concat(...this.obj_array).subscribe(res => {

            res.forEach(a => { this.detailSatz.push(a) });
        });

Пока все хорошо.Но я хочу контролировать, существует ли наблюдаемая или нет, я сделал толчок

this.obj_array.push(ob_oj);

Как я могу это сделать?Я должен найти конкретную наблюдаемую в массиве.

Заранее спасибо.

1 Ответ

0 голосов
/ 23 октября 2018

Что я понял из вашей проблемы, так это то, что вас не интересуют повторяющиеся элементы, испускаемые наблюдаемой, и, следовательно, вы хотите проверить, прежде чем нажать на наблюдаемое.

То, что вы можете попробовать, - это отдельный оператор:

Observable.concat(...this.obj_array).distinct().subscribe(res => {
     res.forEach(a => { this.detailSatz.push(a) });
});

Angular6 и выше:

Observable.concat(...this.obj_array).pipe(distinct()).subscribe(res => {
         res.forEach(a => { this.detailSatz.push(a) });
    });

Таким образом, вам не нужно проверять, что вы нажимаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...