Fonction revenu non défini, prévu promesse ou NodeJS forte valeur

voix
-1

J'ai une application angulaire qui utilise FireStore comme les fonctions de cloud DB et Google pour gérer le back - end. Quand je lance mon application et cliquez sur le salaire pour effectuer l'appel à l' API de bande Je reçois le message suivant sur le journal pour les fonctions de nuages.

Fonction revenu non défini, promesse ou valeur attendue

J'ai lu plusieurs questions stackoverflow et ils parlent de moi de revenir tout dans la promesse , .then()mais je continue à obtenir la même erreur. La bonne chose est que la valeur réelle se stocker dans Firestore sans problème, il semble être plus comme un avertissement plutôt que d' une erreur puisque les pauses rien.

Qu'est-ce que je rate?

exports.stripeCharges = functions.firestore
  .document(/payments/users/TAMO/{paymentId})
  .onWrite((event, context) => {
    const payment = event.after.data();
    const paymentId = context.params.paymentId;
    if (!payment || payment.charge) return;

    return admin
      .firestore()
      .doc(`/payments/users/TAMO/${paymentId}`)
      .get()
      .then(snapshot => {
        return snapshot.data();
      })
      .then(customer => {
        const amount = payment.amount * 100;
        const idempotency_key = paymentId;
        const source = payment.token.id;
        const currency = usd;
        const description = Test Charge;

        const charges = {
          amount,
          currency,
          description,
          source
        };

        return stripe.charges.create(charges, { idempotency_key });
      })
      .then(charges => {
        return admin
          .firestore()
          .doc(`/payments/users/TAMO/${paymentId}`)
          .set(
            {
              charge: charges
            },
            {
              merge: true
            }
          );
      });
  });
Créé 20/10/2018 à 03:24
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
0

Je résolu cet avertissement en procédant comme suit:

if (!payment || payment.charge) return null;

La ligne ci-dessus vérifie si le paiement existe ou si elle a déjà été chargé

Créé 20/10/2018 à 03:55
source utilisateur

voix
0

On dirait que ce soit vous n'avez pas paymentou payment.charge.

if (!payment || payment.charge) return;
Créé 20/10/2018 à 03:31
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more