let dataBody = await setDataBody(product, allPriceForProduct, req.body)
// console.log here est toujours correctement écris, avec la data souhaité
console.log(dataBody)
//Get and set collection subscription
const subscriptionDB = await subscriptionService.getRefAndDataSubscription(req);
await subscriptionDB.data.options.push(dataBody)
await subscriptionService.updateSubscriptionRef(req, subscriptionDB.ref, subscriptionDB.data )
const subscriptionData = await subscriptionService.getRefAndDataSubscription(req);
res.json(subscriptionData.data.options)
}catch (e){
console.error('stripe_error_create_offer', e.message)
//send mail admin + log admin ????
res.status(500)
}
next()
}
C'est un comportement de dingue... mon console.log(dataBody) me retourne toujours ce que je souhaite écrire en DB Je n'ai donc aucun probleme d'ajax coté stripe ou même de formatage de la donnée Ensuite je push ce dataBody dans un object issu d'une collection firestore :
await subscriptionDB.data.options.push(dataBody)
Là aussi , si je console.log(subscriptionDB.data) à ce moment...tout est OK, j'ai le payload souhaité pour mon écriture finale
C'est la survenance du problème aleatoire... le payload est très souvent set sans la mise à jour du payload (. comme si tout le process stripe + formatage + hydratation du payload n'avait pas été encore éété exécuté . ALORS QUE mes console.log m'indiquent le contraire
Le problème est plus fréquent sur une env de prod qu'en local.
Est ce que je montre sur le async/await dans mon code ?? chaque ligne n'est elle pas censé attendre la fin de la précédente avant d'être exécuté ?
Help !!!! je vais m'arracher des cheveux que je n'ai pas !!!
en production les opérations peuvent prendre plus de temps qu'en local donc plus de chance de voir les répercutions des actions actions asynchrones mais avec un code comme ça compliqué de voir un soucis quelque part avec des await sur chaque ligne des fonctions qu'on voit ici sont censés attendre les précédentes oui, les données renvoyées par tes promesses sont peut être incorrectes en production ou une erreur en production arrive lors de l'une de ses étapes.
Konjiki Ashisogi Jizo
async await mais toujours un probleme
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
Konjiki Ashisogi Jizo