将数据从 firebase 函数返回到应用程序
Posted
技术标签:
【中文标题】将数据从 firebase 函数返回到应用程序【英文标题】:Return data from firebase function to app 【发布时间】:2019-10-11 14:02:48 【问题描述】:在我的 ionic 应用程序中,我正在连接到条带支付网关。
我在firebase
中有一个函数,它在更新客户时被触发。
exports.updateStripeCustomer = functions.database.ref("/Customers/userId")
.onUpdate((snapshot, context) =>
const data = snapshot.after.val();
return stripe.customers.createSource(data.payment_sources.customer_id,
source: data.payment_sources.source
).then(customer =>
console.log("Update Stripe Customer");
return customer;
,
error =>
return error;
);
);
这是我更新客户的应用程序端的代码。在更新 firebase 中调用的触发器时,如何在下面的代码中获取触发器(firebase 函数)返回的数据?
this.angularDb.object('/Customers/' + firebase.auth().currentUser.uid).update(
cardsetup: 1,
payment_sources:
customer_id: this.user.customer_id,
source: this.card.source.id
).then((res) =>
loading.dismiss();
alert("card details has been successfully updated.");
this.navCtrl.push(LoginPage);
, (error) =>
loading.dismiss();
console.log("=========>", error.message)
alert(JSON.stringify(error))
);
如果 firebase 函数返回错误,我需要显示触发器返回的错误消息。有什么办法吗?
【问题讨论】:
这和你的其他问题基本一样吧?一次只问一个问题。 ***.com/questions/56301768/… @DougStevenson 另一个问题询问关于 firebase 上所有执行的完成情况,这即将将数据从 firebase 返回到客户端,但是两者都已连接。 【参考方案1】:触发器对数据库中的事件做出反应,但对您的应用程序一无所知。因此,您的触发器和您的应用程序之间没有链接。
您可以使用交易 ID 和交易状态向您的用户添加交易集合。然后从您的应用程序中监听它并从触发器中更新它,以便在完成时收到通知。
或者您可以使用可调用的云函数而不是触发器。 https://firebase.google.com/docs/functions/callable
【讨论】:
以上是关于将数据从 firebase 函数返回到应用程序的主要内容,如果未能解决你的问题,请参考以下文章
从 Firebase 函数返回数据到 Android [重复]