나는 Rx를 처음 사용하고 내가 원하는 것을 얻는 데 문제가 있습니다. 도와주세요 : 사용자 ID 목록에 대한 사용자 프로필 ID 목록을 얻고 싶습니다. 모든 결과를 하나의 Observable로 병합하는 데 문제가 있습니다.
getListOfUsers(): Observable< Profile[]> {
let users = this.af.database.list('listOfUsers/');
let singleuser = users.flatMap(
(users)=> {
console.log(users);
return users.map( singleuser => {
return singleuser;
})
}
);
return singleuser.flatMap(
(profile) => {
return this.af.database.object('profiles/' + profile['$key']).map(
singleprofile => {
console.log(singleprofile);
return singleprofile;
}
);
});
}
이 기능은 단일 프로필 개체를 다시 제공합니다. 모든 프로필 개체를 하나의 프로필 개체 목록에 병합하려면 어떻게해야합니까? Observable.forkjoin 및 기타 항목으로 반환 함수를 래핑하려고 시도했지만 아무것도 작동하지 않았습니다. 먼저 단일 사용자로 분할하는 대신 두 번째 호출에서 전체 목록을 사용하는 옵션이 있습니까? 도와주세요
나는 이것이 당신이 원하는 것이라고 생각합니다.
let users = this.af.database.list('listOfUsers/');
var profiles = users.flatMap(t =>
Observable.forkJoin(
t.map(x => this.af.database.object('profiles/' + x.uid))
)
);
return profiles;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다