Async / Await не работает на вторичном почтовом запросе - PullRequest
0 голосов
/ 19 марта 2019

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

Обновление:

Проблемы, решенные как, произошла опечатка. ! Спасибо за то время, ребята

...