gpt4 book ai didi

javascript - 在 Cloud Functions for Firebase 中的链式 Promise 之间传递值

转载 作者:行者123 更新时间:2023-11-29 23:28:04 25 4
gpt4 key购买 nike

我正在 Firebase 网络应用程序中实现 Stripe 支付模块。

我通过 Cloud Function 创建 Stripe 费用,如下所示:

exports.createStripeCharge = functions.database.ref('...').onWrite(event => {
....
let chargeStatus;

return stripe.charges.create(charge, {idempotency_key})
.then(returnedcharge => {
chargeStatus = returnedcharge.status;
return event.data.adminRef.set(returnedcharge)
})
.then(() => {
return admin.database().ref(`/stripeCardCharges/${event.params.orderId}`).set({'status': chargeStatus});
})
.catch(error => {
...
})

如您所见,我尝试遵循 Firebase 团队的建议以谨慎地链接 promise 。

但是我需要在两个 promise 中使用 returnedcharge 对象,一个接一个地链接起来:

  1. 第一次将整个对象写入实时数据库
  2. 第二次是因为我想写returnedcharge.status到数据库,但是在另一个节点(因为访问权限不同)

然后我创建了一个变量,我将其填充到第一个 promise 中并稍后在下一个 promise 中使用。

我的问题是:这是好的方法吗?

另一个相关的问题(我认为答案是“否”!):是否有可能(并且有意义!)将两个数据库写入(即设置)组合在一个 promise 中?如果是,那么你会返回什么?

最佳答案

我觉得不错。似乎可以毫无问题地完成工作。

关于javascript - 在 Cloud Functions for Firebase 中的链式 Promise 之间传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48347293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com