会社が最大許容登録を再発行したかどうかを知るために、関数を呼び出そうとしていますが、何時でも何も表示されません。 誰かが私が間違っていることを知っていますか?関数からtrueまたはfalseを取得しようとしていません
ありがとうございます!
getMaxRegs(company: string) {
var snapshotMaxRegs = this.db.object(`companies/${company}/maxregs`,{ preserveSnapshot: true})
return snapshotMaxRegs.map(snapshot => {
console.log('maxRegs = '+ snapshot.val())
return snapshot.val();
});
}
getCountRegs(company: string){
var snapshotCountRegs = this.db.object(`companies/${company}/countregs`,{ preserveSnapshot: true})
return snapshotCountRegs.map(snapshot => {
console.log('currRegs = '+ snapshot.val())
return snapshot.val();
});
}
maxRegsReached(company: string){
return Observable.forkJoin([
this.getCountRegs(company),
this.getMaxRegs(company)
]).map((joined)=>{
let countRegs = joined[0];
let maxRegs = joined[1];
return countRegs >= maxRegs;
})
}
今、私は結果を得るためにmaxRegsReachedを購読するが、それは文句を言わない何かを印刷する...
this.maxRegsReached('01').subscribe(result => {
console.log(result) //true or false
})
コードをデバッグしましたか?あなたのコードは 'return countRegs> = maxRegs;'行に到達しますか? – echonax
他の 'console.log'の結果が見えますか? –
ドキュメントから、私はobservablesのどれかが値を放出していないときに 'forkjoin'を使うと理解します。あなたの' subscription'は呼び出されません。 ここをクリックhttps://www.learnrxjs.io/operators/combination/forkjoin.htmlそしてここhttp://reactivex.io/documentation/operators/zip.html –