Reputation: 979
I've updated my ionic app from beta 11 to rc0. So it means I've switched from typescript 1.8 to 2.
I've configured AngularFire2 according to this site Getting Started with Ionic 2 RC0, Firebase 3 + AngularFire 2
I had this line of code working:
this.af.database.object(`comments/${commentId}`).take(1).subscribe({
data => console.log(data)
});
But now getting this error
error TS2339: Property 'take' does not exist on type 'FirebaseObjectObservable'.
Any ideas on what's going on? How can I solve this?
Upvotes: 4
Views: 5174
Reputation: 1118
If your angular version is 6 and above.
use below:
import { take, map } from "rxjs/operators";
Install - npm install --save rxjs-compat
Also use pipe with other functions(Take, Map).
timer(0, 10) .pipe(take(1000)) .pipe(map(() => x));
Upvotes: 1
Reputation: 213
For more recents versions of rxjs (v6) and angularfire (v5), the syntax I used is :
import { take } from 'rxjs/operators'
...
this.afAuth.authState.pipe(take(1)).subscribe(user => {
...
})
Upvotes: 6
Reputation: 912
Posting user @codedesignr's answer from above so this question can have an official solution:
Import the rxjs take operator using:
import 'rxjs/add/operator/take';
Upvotes: 1