- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个从应用程序调用的 httpsCallable 云函数。从技术上讲,它工作正常,但如您所见,代码嵌套非常多,我觉得可以以某种方式更好地处理它。我也会收到警告。
响应 result?.data
是类型 Any
所以我不能在 中直接使用它试试 decoder.decode(PaymentIntent.self, from: data )
因为这需要 Data
类型。为此,我正在使用 try? JSONSerialization.data(withJSONObject: result?.data)
知道如何将所有内容解码为 PaymentIntent
模型吗?
let decoder = JSONDecoder()
decoder.keyDecodingStrategy = .convertFromSnakeCase
functions.httpsCallable("createPaymentIntent").call(data) { (result, error) in
if let error = error as NSError? {
completion(nil, error)
} else {
let data = try? JSONSerialization.data(withJSONObject: result?.data)
if let data = data {
do {
let paymentIntent = try decoder.decode(PaymentIntent.self, from: data) // Expression implicitly coerced from 'Any?' to 'Any'
completion(paymentIntent.clientSecret, nil)
} catch {
completion(nil, error);
}
}
// Update
if let data = result?.data as? NSDictionary {
print(data)
do {
// Cannot convert value of type 'NSDictionary' to expected argument type 'Data'
let paymentIntent = try decoder.decode(PaymentIntent.self, from: data)
completion(paymentIntent.clientSecret, nil)
} catch {
completion(nil, error);
}
}
}
}
最佳答案
Swift SDK for Firebase 的可调用函数不返回 JSON 字符串。它返回已从 JSON 反序列化的数据类型。它要么是字典、数组,要么是直接对应于云函数生成的任何内容。您应该进行一些逐步调试以检查 result.data 实际是什么,然后 write some code to verify that it is what you expect , 并转换它以便安全地使用它。
关于ios - 快速解码 httpsCallable 云函数响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66645888/
我有一个从应用程序调用的 httpsCallable 云函数。从技术上讲,它工作正常,但如您所见,代码嵌套非常多,我觉得可以以某种方式更好地处理它。我也会收到警告。 响应 result?.data 是
我正在尝试使用我制作的函数。所以在我的客户端中我这样做: const functions = firebase.app().functions("europe-west1"); fun
我有一个 Xcode 应用程序(用 Swift 编写)调用部署在 Firebase 中的 HTTP python 函数。它应该得到一个响应作为返回,但出于某种原因,它总是只在数据为零时返回。 // s
我正在尝试使用 Firebase 身份验证和 Firebase 函数实现基于 Angular 色的身份验证。现在,我有一个按预期工作的注册表单,现在我正在尝试添加一个表单,您可以提交一封电子邮件,该电
如何为 Firebase.functions().httpsCallable 执行 GET?我不断收到 POST 错误 404,但这是对我的服务器的 GET 请求。我应该什么都不传递还是应该更改此 h
我部署了一个云函数,如下所示: export const publishVersion = functions .region("europe-west2") .https.onCall(as
我一直在玩 stripe,想学习如何通过以下方式获取临时 key : 后端: //Stripe API requirement for payment exports.stripeEphemeralK
背景: 我们希望允许用户将文件上传到我们的网站 文件在写入 Cloud Storage 之前需要经过验证和修改 在允许用户上传文件之前,我们还需要对用户进行身份验证 并且,在将文件写入 Cloud S
我正在尝试从我的 Vue 应用程序调用这个 firebase 云函数 exports.sayHi = functions.https.onCall((data, context) =>{ retu
已解决 - 请参阅下面的答案。 可调用函数导致 CORS 错误,如下所示: Access to fetch at 'https://us-central1-careerhub-a50a2.cloudf
Firebase.functions().httpsCallable 自动验证 token 还是我需要手动 getIdToken(),通过 header 传递它们并在我的服务器上使用 firebase
我是一名优秀的程序员,十分优秀!