Функция, ранее использовавшая метод try и catch
const chargeCard = async (
stripeToken,
amount,
currency,
phoneNumber,
animalName,
numberOfHorses
) => {
try {
let charge;
charge = await to(
stripe.charges.create({
amount: amount.replace('.', ''),
currency: currency,
description: `Charge from ${phoneNumber} for ${animalName}`,
source: stripeToken,
metadata: {
phoneNumber,
animalName,
numberOfHorses
}
})
);
return charge;
} catch (error) {
console.log(error);
logger.error(error);
return error;
}
};
но теперь я выяснил правильный метод, чтобы получить ошибки, мне нужно добавить обратный вызов и обещание внутри функции, которая
var result = stripe.charges.create({
...data...
}, function (err, charge) { // <-- callback
...
}).then(function(charge) { // <-- promise
...
})
со следующей функцией
const chargeCard = async (
stripeToken,
amount,
currency,
phoneNumber,
animalName,
numberOfHorses
) => {
try {
const charge = await
stripe.charges.create({
amount: amount.replace('.', ''),
currency: currency,
description: `Charge from ${phoneNumber} for ${animalName}`,
source: stripeToken,
metadata: {
phoneNumber,
animalName,
numberOfHorses
}
}, (error, charge) => {
console.log(error);
return error;
}).then(charge => charge);
// return charge;
} catch (error) {
console.log(error);
logger.error(error);
return error;
}
}
он получает все ошибки, когда я вхожу в консоль, но не возвращает ошибки, вызывая эту функцию chargeCard.
Любая помощь будет очень признательна.
Спасибо