【发布时间】:2018-10-25 06:32:07
【问题描述】:
我是 firebase 新手,正在尝试了解如何直接从我的 angular 应用程序调用 firebase 云函数。我以前使用 angularfire2 来做 Firebase 的东西,但似乎 angularfire2 不支持云功能,所以现在我迷路了,不知道该怎么做。
我查看了文档,但我无法真正理解我应该如何从我的 service.ts 文件之一中调用云函数。来自Firebase Doc 的示例如下所示。 我想知道如何在我的一个角度 service.ts 文件中获取 "functions" 引用?
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 文件中导入一些东西还是我应该做什么?
非常感谢任何帮助!谢谢!
【问题讨论】:
-
firebase.google.com/docs/functions/… ?请参阅网络标签。您可以在 .ts 文件中使用
var addMessage = firebase.functions().httpsCallable('addMessage'); addMessage({text: messageText}).then(function(result) { // Read result of the Cloud Function. var sanitizedMessage = result.data.text; // ... });,因为 typescript 只是 javascript 的超集。 -
是的。我明白你的回答。虽然我没有设法导入正确的东西以便在 firebase.functions() 中引用“firebase”......
-
换句话说:我得到:[ts] 找不到名称“firebase”。所以我的问题变成了:我需要导入什么才能引用 firebase?
-
@Phil 你知道我需要导入什么吗? :)
-
对于非角度模块,您需要使用 require:
const firebase = require("firebase");。有关示例,请参见此处:github.com/angular/material2/blob/master/tools/gulp/util/…
标签: angular firebase google-cloud-functions