我的Google Cloud函数中有一个异步/等待序列。问题是,当我添加一个新的发帖请求时,整个序列在那一刻停止,通过移动到catch块,它只是一个发帖请求,但是我不知道为什么它在那里停止。
她是代码:
const admin = require('firebase-admin');
const request = require('request');
const rp = require('request-promise');
module.exports = async function(req, res) {
try{
const phone = String(req.body.phone).replace(/[^\d]/g, '');
const payment_id = String(req.body.razorpay_payment_id);
const amount = parseInt(req.body.amount);
const couponCodeName = (req.body.couponCodeName);
const couponUsage = (req.body.couponUsage);
const finalAddress = (req.body.finalAddress);
const quantity = (req.body.quantity);
const orderNumber = (req.body.orderNumber);
const orderStatus = (req.body.orderStatus);
const options = {
method: 'POST',
uri:'https://....',
body: {
amount
},
json: true
};
const orderConfirmationSms = {
method: 'POST',
uri: 'http://smsprovider.....',
body: {
quantity,
amount
},
json: true
};
await admin.auth().getUser(phone);
const orderResponse = await rp(options)
await admin.database().ref('trans/'+ phone)
.push({ pay_id: orderResponse.id });
await admin.database().ref('ord/'+ phone)
.push({ payment_id });
await rp(orderConfirmationSms)
await admin.database().ref('addr/'+phone)
.push({address: finalAddress});
await admin.database().ref('ds/'+phone+'/'+orderNumber)
.set({ orderStatus: orderStatus });
if(couponCodeName) {
await admin.database().ref(`couponCodes/${couponCodeName}`)
.update({couponUsage: couponUsage + 1 });
}
res.status(200).send({ success:true });
}
catch(error) {
res.status(422).send({error});
}
};
问题在于第5次等待,整个序列在此停止。我不知道怎么了,因为我看不到任何错误。请帮助我解决这个问题。
更新:
问题解决为,其中有一个错字。 !谢谢你们的时间