вызываемая функция в базе данных полосы - PullRequest
0 голосов
/ 01 мая 2020

Я сделал вызываемую в Firebase функцию для вызова API полосы для получения объекта клиента полосы

exports.getDefaultPayment = functions.https.onCall(async (data, context) => {
  await stripe.customers.retrieve("cus_H5UarU16gpUbqM", (customer) => {
    // asynchronously called
    return customer;
  });
});

, затем я пытаюсь просто зарегистрировать этот объект

onPress={() => {
              const getDefaultPayment = functions().httpsCallable(
                'getDefaultPayment'
              );
              getDefaultPayment().then((result) => {
                console.log(JSON.parse(result.data));
              });
            }}

, но результат является нулевым

1 Ответ

1 голос
/ 01 мая 2020

Ваша вызываемая функция на самом деле ничего не возвращает клиенту. Вам нужен оператор возврата на верхнем уровне, а не внутри обратного вызова. Кроме того, кажется, что вы смешиваете обратные вызовы с async / await, что не имеет смысла. Просто используйте await - не связывайтесь с обратным вызовом. Возможно, это сработает:

return stripe.customers.retrieve("cus_H5UarU16gpUbqM")
...