我有以下代码:
//Loop: For each user ID/Role ID, get the data
userMeta.forEach((businessRole) => {
Observable.forkJoin(
af.database.object('/roles/'+businessRole.$value),
af.database.object('/users/'+businessRole.$key)
).subscribe(
data => {
console.log("Data received");
data[1].role = data[0];
this.users.push(data[1]);
},
err => console.error(err)
);
Run Code Online (Sandbox Code Playgroud)
我试图订阅使用2个observable的结果forkJoin.
由于某些原因,未显示"已接收数据"消息.
我的userMeta变量在console.log中看起来很好:
怎么了?
更新:以下代码也不返回任何内容
let source = Observable.forkJoin(
af.database.object('/roles/'+businessRole.$value),
af.database.object('/users/'+businessRole.$key)
);
let subscription = source.subscribe(
function (x) {
console.log("GOT: " + x);
},
function (err) {
console.log('Error: %s', err);
},
function () {
console.log('Completed');
});
Run Code Online (Sandbox Code Playgroud)
我实际上要做的是提高以下代码的性能:
//Subscription 3: role ID to role Name
af.database.object('/roles/'+businessRole.$value) …Run Code Online (Sandbox Code Playgroud)