У меня есть следующий код, который возвращает наблюдаемый с деталями элементов для каждого ключа элемента:Возвращает массив/объект вместо наблюдаемой с помощью карты RXJS
this.list = this.af.database.list("API_URL")
.map((ItemKeys) => {
return ItemKeys.map((ItemKey) => {
return this.af.database.object(API_URL + "/" + ItemKey); //I need this as the object (not observable)
});
}).subscribe((items) => {
this.lineData = items; //A list of observables
});
Кода itereates по каждому ключу элемента и получает данные позиции с другой конечной точки. Проблема в том, что он извлекает наблюдаемые данные каждого элемента, и мне это нужно в объекте (наблюдаемый результат).
Я попытался вернуть результат подписки с помощью следующего кода, но все мои данные изделий являются пустыми (не определены):
this.list = this.af.database.list("API_URL")
.map((ItemKeys) => {
return orderItemKeys.map((ItemKey) => {
this.af.database.object("API_URL" + "/ItemKey.$key) // So I tried to subscribe to this..
.subscribe((data) => {
return data;
});
});
}).subscribe((items) => {
this.lineData = items; // A list with undefined items
});
Как я могу вернуть объект данных элемента как объект, а не наблюдаемые объекта в моем случае?
Извините, этот ответ не имеет понятия, как я могу использовать 'flatMap' в моем случае, где и как. Я попытался изменить свой первый '.map' на' .flatMap', но он этого не сделал. – TheUnreal
@ TheUnreal, извините, мой плохой. Тогда не было слишком задумчиво. Посмотрите сейчас, если это поможет или нет. –