【发布时间】:2021-03-07 00:46:39
【问题描述】:
从 iOS 应用调用云函数如下所示:
var functions = Functions.functions()
functions.httpsCallable(name).call(data){ (result, error) in
// Code here
}
如何从我的 Cloud Function 发送错误,以便在上面的代码中获取它?例如:
云功能:
exports.joinGame = functions.https.onCall((data, context) => {
return Error("The game is full")
})
SwiftUI:
var functions = Functions.functions()
functions.httpsCallable("joinGame").call(data){ (result, error) in
print(error) // "The game is full"
}
【问题讨论】:
-
云函数只是返回一个 HTTP 响应。如果您在函数方面发现错误,则应返回适当的 HTTP 响应代码:tools.ietf.org/html/rfc7231#section-6。然后,您将本地代码中的 HTTP 响应代码作为来自 HTTP 请求的任何常规响应来处理。
-
不清楚你想在 SwiftUI 中做什么。
-
调用云函数将在 SwiftUI 中返回:(
HTTPSCallableResult?,Error?) - 我想从我的云函数返回一条错误消息,该消息将出现在响应的第二个参数下(@ 987654327@)。 @Asperi -
@Paulw11 这是有道理的。我会根据情况返回
{ error: "error message" }或{ success: "success message" }。谢谢。 -
是的,我认为这是一种更好的方法。您也可以返回
{ "success": true/false, "message":null/"Game full" }或其他任何内容
标签: ios firebase swiftui google-cloud-functions