angular - 如何使用 AngularFire2 执行可调用函数
问题描述
firebase 中的可调用函数可以执行如下:
firebase.functions().httpsCallable('addMessage');
我想知道 AngularFire2 中的等价物是什么。我已经扫描了文件,没有看到任何提及这一点。
如果没有等价物,那么我如何在 AngularFire2 中获取底层 firebase 对象的句柄?
解决方案
确保将您的angularfire2
版本更新到RC9
或更高版本 - 因为这是PR合并的时候。
npm install angularfire2@latest
添加AngularFireFunctions
到您providers
的app.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 存储库中的一条评论询问了为什么响应已转换为Observable
. Firebase 文档具有返回 a 的函数-Promise
因此请注意不一致之处 - 它可能会在未来发生变化。
推荐阅读
- sharepoint - 如何在 sharepoint 站点创建中显示有关字段的信息
- c# - 如何匹配 LINQ Where 中的两个不同标准?
- reactjs - Material UI - Select - 如何使用输入道具?
- maven - 从版本 13 升级到 14 时,Maven 不下载 JavaFX 依赖项
- flutter - 小部件库捕获的异常。Flutter 中不正确使用 ParentDataWidget
- eclipse - 如何为 NatTable 中的特定单元格跳过或不应用 cellpainter
- azure-devops - 如何将 Azure 代码存储库与 Workday Studio 连接起来?
- quarkus-panache - Quarkus Panache:findById() 和 deleteById() 找不到存储的对象
- java - 如何在 Java 上使用 Selenium 将浏览器宽度设置为最小?
- javascript - 使用 JS 在加载时切换按钮