У меня есть последовательность асинхронных / ожиданий в моей облачной функции Google. Проблема в том, что, когда я добавил новый почтовый запрос, вся последовательность останавливается в этой точке, переходя к блоку 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-м ожиданием, вся последовательность на этом останавливается. Я не знаю, что не так, так как я не мог увидеть ни одной ошибки. Пожалуйста, помогите мне решить эту проблему.
Обновление:
Проблемы, решенные как, произошла опечатка. ! Спасибо за то время, ребята