Как правильно импортировать тип HttpsCallable в Firestore в машинописи - PullRequest
0 голосов
/ 29 июня 2019

Используя Angular 2.0 вместе с Firestore, я создал облачную функцию, которую я хочу вызвать в своем коде. Поскольку я использую TypeScript, я хочу указать тип переменной, ссылающейся на эту облачную функцию (то есть тип HttpsCallable).

WebStorm предлагает следующий импорт при предоставлении типа:

import HttpsCallable = firebase.functions.HttpsCallable;

Однако, при запуске кода это выдает следующую ошибку

ERROR Error: Uncaught (in promise): TypeError: firebase_app__WEBPACK_IMPORTED_MODULE_3__.functions is not a function
TypeError: firebase_app__WEBPACK_IMPORTED_MODULE_3__.functions is not a function

Код выглядит следующим образом:

import {Injectable} from '@angular/core';
import {AngularFirestore, CollectionReference} from '@angular/fire/firestore';
import * as firebase from 'firebase/app';
import 'firebase/firestore';
import {collectionData} from 'rxfire/firestore';
import {tap} from 'rxjs/operators';
import HttpsCallable = firebase.functions.HttpsCallable;


@Injectable({
  providedIn: 'root',
})
export class FirestoreService {
  private app: firebase.app.App;

  // My Cloud Function
  registerUserFunction: HttpsCallable;

  constructor(private db: AngularFirestore) {
    // Cloud Function
    this.registerUserFunction = firebase.functions().httpsCallable('dbUsersRegister');
  }

Мой вопрос: как правильно импортировать тип Firestore HttpsCallable в TypeScript?

1 Ответ

0 голосов
/ 29 июня 2019

Я не использую angular, но с TypeScript в проекте веб-пакета импорт функций работает так же, как импорт Firestore:

import * as firebase from 'firebase/app'
import 'firebase/functions'
const callable: firebase.functions.HttpsCallable =
    firebase.functions().httpsCallable(...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...