Я создаю службу Angular для извлечения данных из указанного ресурса в серверной части. этот ресурс будет возвращать строки данных в виде потоков, и я хочу сохранить их в массиве, чтобы при вызове службы с помощью этого метода я мог получить доступ к данным каждой полезной нагрузки. У меня есть такой метод для сопоставления потока данных, который использует вспомогательную функцию extractRecords
, показанную во втором фрагменте ниже.
getRecords() {
return this._records = this._resourceService.search(SOMECONSTANT, {})
.pipe(map(extractRecords))
.pipe(shareReplay()) as Observable<Data[]>;
Я отладил, и проблема в том, что приведенный ниже массив records [] не определен после того, как я sh каждый массив объектов, выполняя r.payload.push
function extractRecords(result) {
const records = [];
if (!isNullOrUndefined(result)) {
result.forEach(r => {
if (!isNullOrUndefined(r['payload'])) {
records.push(r.payload);
}
});
}
return records;
}
r.payload
, возвращает объект каждый раз, когда он проходит через код и возвращает и объект, подобный такому:
name: "Meredith",
lastname: "Palmer",
something: "Micheal",
identifier: "Scott",
somethingelse: "Rabies",
blah: "Awareness",
blue: "ProAm",
kneecap: "FunRun"
l oop вернет 1000 таких объектов, и я хочу сохранить их в массиве записей как массив объектов, чтобы мой объект записи выглядел примерно так:
records: [0]
name: "Meredith",
lastname: "Palmer",
something: "Micheal",
identifier: "Scott",
somethingelse: "Rabies",
blah: "Awareness",
blue: "ProAm",
kneecap: "FunRun"
[1]
name: "Meredith",
lastname: "Palmer",
something: "Micheal",
identifier: "Scott",
somethingelse: "Rabies",
blah: "Awareness",
blue: "ProAm",
kneecap: "FunRun"