0
votes

NodeJs non grogé

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.

C'est mon erreur Entrez la description de l'image ici

et ceci est mon code xxx

Je suis toujours débutant avec nœud.js.

Merci d'avance.


0 commentaires

3 Réponses :


0
votes

Vous devriez toujours attraper vos promesses, vous avez manqué qu'ici xxx


0 commentaires

1
votes

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.
    });  
});


0 commentaires

1
votes

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 promesse est un objet qui représente quelque chose qui finira plus tard.

sur la ligne xxx

l'appel demande (URL) 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.

Si la demande échoue, la promesse est rejetée à la place. Vous pouvez gérer ce cas en utilisant la méthode .Catch (rappel) de la promesse renvoyée par Demande (URL) .

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.

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


0 commentaires