我是firebase的新手,正试图了解如何直接从我的角度应用程序调用firebase云功能。我以前使用angularfire2来做Firebase的东西,但似乎angularfire2不支持云函数,所以现在我迷路了,不知道怎么做。
我查看了文档,但我无法理解,我应该从我的 service.ts 文件中调用云函数。 Firebase Doc中的示例如下所示。 我想知道如何在我的一个有角度的 service.ts 文件中获取"函数" 引用?
functions.httpsCallable("addMessage").call(["text": inputField.text]) { (result, error) in
if let error = error as NSError? {
if error.domain == FunctionsErrorDomain {
let code = FunctionsErrorCode(rawValue: error.code)
let message = error.localizedDescription
let details = error.userInfo[FunctionsErrorDetailsKey]
}
// ...
}
if let text = (result?.data as? [String: Any])?["text"] as? String {
self.resultField.text = text
}
}
我是否需要在app.module.ts文件中导入某些内容或我应该做什么?
非常感谢任何帮助!谢谢!
答案 0 :(得分:3)
Maintainer在这里,Angularfire前几天在RC 9中发布了AngularFireFunctions模块。 See the AngularFire changelog entry here.
请注意,从RC 8开始,您需要升级到至少Firebase 5.0.2和rxjs 6. rxjs-compat将帮助您仍然依赖于rxjs 5.
答案 1 :(得分:0)
我也遇到了这个问题,James 的回答并没有真正回答我的问题,我在哪里可以找到一个很好的例子,说明它在 Angular 中的外观。但是,在 Firebase 存储库 a README with small, but enough documentation can be found 中。
这几乎是你可以做到的紧凑:
import { AngularFireFunctions } from '@angular/fire/functions';
constructor(
private fns: AngularFireFunctions
) {}
addMessage(): Observable<any> {
const addMessage = this.fns.httpsCallable('addMessage');
return addMessage({text: "test"});
}