Angular httpClient不执行网络请求

问题描述 投票:0回答:1

在我的一个Service类中,我尝试对firebase authentification API执行API请求。 Service类看起来像这样:

import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';
import { catchError, tap } from 'rxjs/operators';
import { Observable, of } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class AuthService {

  private apiKey: string = '[API-Key]';

  private userToken: string;

  login(email: string, password: string): Observable<HttpResponse<string>> {
    console.log('Ich wurde ausgeführt.')
    return this.httpClient.post<string>(`https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=${this.apiKey}`, 
    {email: email, password: Password, returnSecureToken: true}, {observe: 'response'})
    .pipe(
      tap(
        response => {
          console.log(response); 
          this.userToken = response.idToken;
        }, 
        error => {
          console.log(error);
          return error;
        }
      )

    )
  }

  constructor(private httpClient: HttpClient) { }
}

在同一时刻,如果请求成功执行,我想使用httpClient post请求中的响应来将Response提供的令牌值设置为Service类中的private userToken: string变量。

再次结束嚎叫故事:我的问题是这个网络请求firebase Auth API没有被触发,我不知道为什么。此外,我认为我的代码处理响应非常好,可以改进。

谁能帮我?非常感谢你,祝你有个美好的一天!

angular httpclient
1个回答
0
投票

就像你想要使用它的组件一样

import { OnInit, Component } from '@angular/core'

export class Component implements OnInit { 

   constructor(private authService: AuthService){}

   ngOnInit() {
      this.authService.login(param1, param2).subscribe(result => {}, err => {});
   }


}
© www.soinside.com 2019 - 2024. All rights reserved.