Пример необработанного обещания с полосой отказа от обещания

Я пытаюсь настроить приложение для оплаты полосой с помощью node и express, следуя примеру здесь:https://stripe.com/docs/payments/accept-a-payment

Я создал маршрут в коде приложения на стороне сервера, как указано, и вставил код на стороне клиента в свой html файл. Я пытаюсь создать приложение без механизма шаблонов, просто html / css / javascript / node.

var response = fetch('/secret').then(function(response) {
  return response.json();
}).then(function(responseJson) {
  var clientSecret = responseJson.client_secret;
  // Call stripe.confirmCardPayment() with the client secret.
});

Я получаю следующую ошибку: Отклонение необработанного обещания. Эта ошибка возникла либо из-за вызова асинхронной функции без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью.catch().

Я новичок в обещаниях и не уверен, каким должен быть синтаксис этого кода. Могу я добавить

promise1.catch((error) => {
  console.error(error);
});

1 ответ

Решение

Да, добавление метода catch в конце приведет к обнаружению ошибки (отклоненное обещание). То, что вы предложили, сработает.

var response = fetch('/secret').then(function(response) {
  return response.json();
}).then(function(responseJson) {
  var clientSecret = responseJson.client_secret;
  // Call stripe.confirmCardPayment() with the client secret.
}).catch(function(err) {
  // Handle error
});
Другие вопросы по тегам