Could you give us the way you initialize the Facebook provider and you your service in your component?
Option #1
Your behavior makes me change that the Facebook code is running outside an Angular zone, so Angular change detection doesn't run when an event fires. You
You could also run manually the change detection:
import { Component, ChangeDetectorRef } from 'angular2/core';
@Component({
(...)
})
export class MyComponent {
constructor(private cdr:ChangeDetectorRef) {
}
someMethod() {
this.cdr.detectChanges();
}
}
See these questions:
- "async" pipe not rendering the stream updates
- How to force a component's re-rendering in Angular 2?
Option #2
Perhaps you event is fired before the component register a callback on the currentUser subject. In this case, you could trigger the event later...