функция не работает в Firebase Auth с Angular - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь использовать Firebase Auth с моим приложением Angular7.Я хочу использовать некоторую функцию для обработки пользовательских данных.Однако после того, как я войду в учетную запись Google, коды будут работать до тех пор, пока myFunction не сработает, но после того, как myFunction не сработает, я не уверен, что причина в том, что сообщение не отображалось.

Не могли бы вы дать мне совет?

constructor(private afAuth: AngularFireAuth) {}

public myFunction(obj: any){
  console.log(obj)
}

public socialLogin() {
  var provider = new firebase.auth.GoogleAuthProvider();
  this.afAuth.auth.useDeviceLanguage();
  this.afAuth.auth.signInWithPopup(provider).then(function(result) {
    console.log('logged in'); <- work!
    var user = result.user; <- work!
    console.log(user) <- work!
    this.myFunction(user); <- not work
    console.log('test'); <- not work
  })

машинописная версия 2.9.2

1 Ответ

0 голосов
/ 21 февраля 2019

используйте функцию стрелки (для наследования окружающего контекста), в вашем коде обратный вызов привязан к другому this

this.afAuth.auth.signInWithPopup(provider).then(result => {
    console.log('logged in'); <- work!
    var user = result.user; <- work!
    console.log(user) <- work!
    this.myFunction(user); <- not work
    console.log('test'); <- not work
  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...