如何比较节点Uid == ChById。
此代码用于第一个节点值访问。 提供羽毛球运动uid进入阵列。
this.db.list('/Providers/'+this.mySport+'', {preserveSnapshot: true}).subscribe(snapshots => {
if(snapshots.values()==null) {console.log('its empty')}else {
snapshots.forEach(snapshot => {
snapshot.forEach(snapshot1 => {
var myTeamName = [snapshot1.val().team_name];
var availability = [snapshot1.val().Availability];
var userid = [snapshot1.val().Uid];
this.getallprovidersuserids = [userid];
//console.log(this.getallprovidersuserids);
this.allelementsofuser.push({teams: myTeamName, userloginid: userid, availability: availability});
});
});
}
});
此代码用于第二个节点访问。 challanges节点进入羽毛球运动ChById值进入阵列值。
this.db.list('/Challenges/'+this.mySport+'', {
preserveSnapshot: true}).subscribe(snapshots2 => {
snapshots2.forEach(snapshot2 => {
snapshot2.forEach(snapshot3 => {
var getallChallenegesuserid = [snapshot3.val().ChByUid];
console.log(getallChallenegesuserid[0]);
});
});
// console.log(this.getallprovidersuserids);
});
如果我将两个不同的数组存储在一起,并使用嵌套for循环比较两者。没有给出output.please帮助解决我的代码。
答案 0 :(得分:0)
你需要combineLatest
所以他们同时解决(他们都是异步+懒惰):
Observable.combineLatest(
this.db.list(`/Providers/${this.mySport}`, {preserveSnapshot: true}),
this.db.list(`/Challenges/${this.mySport}`, {preserveSnapshot: true})
).subscribe(([providersSnapshot, challengesSnapshot]) => {
// do your comparison in here
})