J'essaie de réparer mon erreur mais je ne sais pas comment je peux le réparer. J'ai cherché Arround Internet et j'ai essayé des solutions comme celle-ci Nœud Non géréProgrammépromiserEjewarning Mais je n'ai pas réussi à le réparer.
et ceci est mon code p> Je suis toujours débutant avec nœud.js. P> Merci d'avance. p> p>
3 Réponses :
Vous devriez toujours attraper vos promesses, vous avez manqué qu'ici
En plus de la réponse de Rami, vous devez corriger newcity.save () code> opération. Mongoose Save () Retour des éliminations. Donc, vous devriez gérer sauf comme ceci:
post('/', function(req, res) {
var newCity = new cityModel({name: req.body.city_name})
newCity.save()
.then(result => {
res.redirect('/')
})
.catch(err => {
// handle error
console.log(err);
// render an error page for example.
});
});
Nodejs utilise des appels asynchrones et non bloquants au lieu d'utiliser plusieurs threads. Cela fait cela (au moins en partie) en utilisant des promesses. Un sur la ligne p> l'appel Si la demande échoue, la promesse est rejetée à la place. Vous pouvez gérer ce cas en utilisant la méthode Il peut y avoir d'autres moyens Pour ce faire, mais je ne suis pas au courant d'eux, car n'a pas utilisé la notation Async / attendre. P> https://Developer.mozilla.org/en-us/docs/web/javascript/reference/global_Objects/promise
https://developer.mozilla.org/en- US / DOCS / Web / JavaScript / Référence / Opérateurs / Await P> P> promesse code> est un objet qui représente quelque chose qui finira plus tard.
demande (URL) code> retourne une promesse et l'utilisation de l'attente provoque le reste de la fonction être différé jusqu'à ce que la promesse soit résolue. P>
.Catch (rappel) code> de la promesse renvoyée par
Demande (URL) code>. P>