gpt4 book ai didi

angular - forkjoin 没有返回结果

转载 作者:行者123 更新时间:2023-12-02 21:07:07 26 4
gpt4 key购买 nike

我正在使用 forkJoin 合并两个 Firebase 请求的结果

两个请求都完成并记录在控制台中,但 forkJoin 本身的映射函数不会触发,因此没有结果返回到应用程序

public initGroup(groupname, username){
console.log(groupname, username)//This logs
return Observable.forkJoin([
this.getGroup(groupname, username),
this.groupMembers(username, groupname),
])
.map((data)=>{
console.log(data)//This does not log
this.group = data;
return this.group
})
}

对于各个功能:

public getGroup(groupname, username){
return (this._af.database.object('/groups/'+groupname) as FirebaseObjectObservable<any>)
.map((group)=>{
console.log(group)//This logs
return group
})

}
public groupMembers(username, groupname){
return this.afService.getUserItems(groupname)
.map((users:UserInfo[])=>{
console.log(users)//This logs
return users
})
}

我在组件内订阅:

let conn = this.groupService.initGroup(groupname, username)
.subscribe((data)=>{
console.log(data)//Does not log
......
})

最佳答案

事实证明 forkJoin 不适用于 firebase observables,

当我更新到

public initGroup(groupname, username){
return Observable.combineLatest([
this.getGroup(groupname, username),
this.groupMembers(username, groupname)

])
.map((data)=>{
console.log(data)//This now logs
this.group = data;
return this.group
})


}

combineLatest 使其按预期工作

关于angular - forkjoin 没有返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44931476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com