0

会社が最大許容登録を再発行したかどうかを知るために、関数を呼び出そうとしていますが、何時でも何も表示されません。 誰かが私が間違っていることを知っていますか?関数から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 
 
    })

+0

コードをデバッグしましたか?あなたのコードは 'return countRegs> = maxRegs;'行に到達しますか? – echonax

+0

他の 'console.log'の結果が見えますか? –

+0

ドキュメントから、私はobservablesのどれかが値を放出していないときに 'forkjoin'を使うと理解します。あなたの' subscription'は呼び出されません。 ここをクリックhttps://www.learnrxjs.io/operators/combination/forkjoin.htmlそしてここhttp://reactivex.io/documentation/operators/zip.html –

答えて

0

試してみてください。

this.maxRegsReached('01') 
    .map(response => response) 
    .subscribe(result => { 
     console.log(result) //true or false 
    }) 
+0

同じことですが、機能は入力されますが出力はありません:/ – Ace

+0

'maxRegs'と 'getCountRegs'コンソールログは起動しますか?その成果は? maxRegsReachedコンソールを 'console.log( "Result:"、result)// trueまたはfalse'に変更すると、コンソールに 'Result:'が表示されますか? –

関連する問題