gpt4 book ai didi

javascript - “用户”不可分配给类型 'void'

转载 作者:行者123 更新时间:2023-11-29 18:44:39 25 4
gpt4 key购买 nike

几个月来我一直在使用 Ionic 4 和 Firestore。一旦我去了 Firestore 和 Ionic 4,很多东西都坏了,所以我从头开始。我正在关注适用于 iOS 和 Android 的 AngularFirebase Ionic Google 登录 Youtube 教程,但出现以下错误:

[ng] src/app/pages/login/login.page.ts(35,7) 中的错误:错误 TS2322:类型“User”不可分配给类型“void”。

我使用的代码与教程中的代码完全相同,但不确定为什么会出现此错误。

    import { Component, OnInit } from '@angular/core';
import * as firebase from 'firebase/app';
import { AngularFireAuth } from 'angularfire2/auth';
import { Observable, of } from 'rxjs';
import { GooglePlus } from '@ionic-native/google-plus/ngx';
import { environment } from '../../../environments/environment';

@Component({
selector: 'app-login',
templateUrl: './login.page.html',
styleUrls: ['./login.page.scss'],
})
export class LoginPage {

user: Observable<firebase.User>;

constructor(private afAuth: AngularFireAuth,
private gplus: GooglePlus) {

this.user = this.afAuth.authState;
}
googleLogin() {
this.nativeGoogleLogin();
}

async nativeGoogleLogin(): Promise<void> {
try {

const gplusUser = await this.gplus.login({
'webClientId': environment.googleWebClientId,
'offline': true,
'scopes': 'profile email'
});

return await this.afAuth.auth.signInWithCredential(
firebase.auth.GithubAuthProvider.credential(gplusUser.idToken)
);

} catch (err) {
console.log(err);
}
}
}

最佳答案

signInWithCredential正在返回 firebase.User对象,因此您可以将函数的返回类型更改为 Promise<firebase.User> .

async nativeGoogleLogin(): Promise<firebase.User> {
try {

const gplusUser = await this.gplus.login({
'webClientId': environment.googleWebClientId,
'offline': true,
'scopes': 'profile email'
});

return await this.afAuth.auth.signInWithCredential(
firebase.auth.GithubAuthProvider.credential(gplusUser.idToken)
);

} catch (err) {
console.log(err);
}
}
}

关于javascript - “用户”不可分配给类型 'void',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54758454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com