我做了一个Firebase可调用函数来调用Stripe API以获取Stripe客户对象
exports.getDefaultPayment = functions.https.onCall(async (data, context) => {
await stripe.customers.retrieve("cus_H5UarU16gpUbqM", (customer) => {
// asynchronously called
return customer;
});
});
然后我试图简单地记录该对象
onPress={() => {
const getDefaultPayment = functions().httpsCallable(
'getDefaultPayment'
);
getDefaultPayment().then((result) => {
console.log(JSON.parse(result.data));
});
}}
但结果为空
最佳答案
您的可调用函数实际上没有向客户端返回任何内容。您需要在顶层而不是在回调内部的return语句。另外,似乎您正在将回调与async / await混合在一起,这没有任何意义。只需使用await-不必理会回调。也许这会起作用:
return stripe.customers.retrieve("cus_H5UarU16gpUbqM")