【发布时间】:2019-10-20 07:24:52
【问题描述】:
我是 node js 的新手,我想在回调函数中将信息写入我的 firebase 数据库。
我一直在搜索,似乎回调是异步的。如何在此回调中使用 firestore?
exports.registerRestaurantPayout = functions.firestore.document('*********')
.onCreate(async (paymentSnap, context) => {
var request = require('request');
var authCode = paymentSnap.data().auth_code;
var firstString = 'client_secret=********&code=';
var secondString = '&grant_type=authorization_code';
var dataString = firstString + authCode + secondString;
var options = {
url: 'https://connect.stripe.com/oauth/token',
method: 'POST',
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode === 200) {
console.log(body);
return await firestore.document('***********')
.set({'account': body}, {merge: true});
//return await paymentSnap.ref.set({'account': body}, {merge: true});
}else{
//return await paymentSnap.ref.set({'error' : error}, { merge: true });
}
}
request(options, callback);
});
我收到以下错误 Parsing error: Unexpected token firestore 即使我可以在回调之外使用 firestore。具体问题是回调中的return语句
【问题讨论】:
-
您的代码是云函数的一部分吗?如果是,能否请您添加 Cloud Function 的完整代码?
-
@RenaudTarnec 感谢您的回复,我刚刚更新了代码,是的,它是云功能的一部分
标签: node.js firebase asynchronous google-cloud-firestore google-cloud-functions