Javascript TypeError:无法读取未定义的属性“http”

Javascript TypeError:无法读取未定义的属性“http”,javascript,angular,rest,http,typescript,Javascript,Angular,Rest,Http,Typescript,我试图把它放在我的RESTAPI中,但是我一直得到类型错误 import { Component, OnInit, Inject, Injectable } from '@angular/core'; import { AuthService } from "../core/auth.service"; import { HttpClient, HttpErrorResponse } from '@angular/common/http'; import * as firebase from '

我试图把它放在我的RESTAPI中,但是我一直得到类型错误

import { Component, OnInit, Inject, Injectable } from '@angular/core';
import { AuthService } from "../core/auth.service";
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import * as firebase from 'firebase/app'; //Firebase SDK

@Injectable()
export class LoginService implements OnInit {

  constructor(public auth: AuthService, private http: HttpClient) {

  }
  ngOnInit() {
  }

  lastLogin() {
    firebase.auth().currentUser.getIdToken(true).then(function(idToken) {
      // Send token to your backend via HTTPS
      //console.log(idToken);
      const req = this.http.put('https://dev-api.byrd.news/v1/login', {
        user_token: idToken
      })
      .subscribe(
        res => {
          console.log(res);
        },
        err => {
          console.log("error skete");
        }
      );
    });

  }
}
我调用该函数只是为了记录用户的上次登录,即日期和是否成功。 通过firebase完成,根据文档,我应该会收到一个idToken:

我做错了什么?

在这一行:

firebase.auth().currentUser.getIdToken(true).then(function(idToken) {
将匿名函数更改为箭头函数:

firebase.auth().currentUser.getIdToken(true).then((idToken) => {

这将使其成为函数中LoginService的实例。

谢谢!显然,我太关注文档了——我已将其更改为fat arrow,我将在大数据库中报告结果。