如何使用AngularFire2执行可调用函数

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

firebase中的可调用函数可以执行如下:

firebase.functions().httpsCallable('addMessage');

我想知道AngularFire2中的等价物是什么。我扫描了文件,但没有看到任何提及。

如果没有等价物,那么我如何获得AngularFire2中底层firebase对象的句柄?

angular firebase angularfire
1个回答
0
投票

确保将angularfire2版本更新为RC9或更高版本 - 因为这是PR合并时的情况。

npm install angularfire2@latest

AngularFireFunctions添加到providersapp.module中。

import { AngularFireFunctions } from 'angularfire2/functions';

@NgModule({
  providers: [
    AngularFireFunctions
  ],
});

在你的组件中,你可以从httpsCallable运行AngularFireFunctions函数。

constructor(
  private afFun: AngularFireFunctions,
) { }

ngOnInit() {
  // Angular Fire - Converts Promise to Observable
  this.afFun.httpsCallable('myFunction')({ text: 'Some Request Data' })
    .pipe(first())
    .subscribe(resp => {
      console.log({ resp });
    }, err => {
      console.error({ err });
    });

  // Convert back to Promise
  const respRef = await this.afFun.httpsCallable('myFunction')({ text: 'Some Request Data' })
    .toPromise();

  console.log({ respRef });
}

AngularFire2回购中的comment询问为什么响应已转换为ObservableFirebase documentation具有返回Promise的功能 - 所以要注意不一致 - 它可能在将来发生变化。

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