0
votes

La mangouste n'exécute pas d'enregistrement et n'affiche pas d'erreur

hi j'ai le code suivant: xxx

Il n'y a pas d'erreur sur le côté express, console.log ("Exécution") fonctionne et affiche ce message correctement. J'ai testé cela en utilisant Postman, lorsque j'envoie des données, la réponse ne viendra jamais et sur Postman, il y a une erreur: "Erreur: prise raccroche".

J'ai fabriqué console.log pour Req.bon, Et ceci est ma sortie: xxx

juste après cela, j'ai constaté que je vérifierais pourquoi il se bloque, je n'avais aucune erreur dans la console Nodejs. J'ai donc ajouté deux console.log au code: xxx xxx

mais les deux n'exécute pas. Donc, j'ai fait du refacteur de code et cela fonctionne comme ci-dessus: xxx

Je ne sais pas quelle est la cause de ce problème. Ceci est un lien vers un projet entier: https://github.com/codemasternode/dietShopping


1 commentaires

Montrez qu'est-ce que vous avez transmis {... req.body} s'il vous plaît.


4 Réponses :


0
votes

Essayez de vous débarrasser du (s) retour (s) devant le RES. Appels de fonction

comme ceci: xxx


1 commentaires

Ceci est un lien vers Rappo complet: github.com/codemasternode/dietShopping



0
votes

J'ai eu une pré-enregistrement dans le modèle "Produits" qui ne me permet pas de passer. Je copie et colle d'un autre modèle et j'oublie de supprimer le code de la casarrie.


0 commentaires

0
votes

Je vous suggère de vous débarrasser de ce rappel et d'utiliser Clean ASYNC-Await. En utilisant ces codes sera également plus court. Et je pense que cela fonctionnera. Essayez ceci.

p>

export async function createProduct(req, res) {
    try{
        console.log("Execution")
        const product = new Product({...req.body})
        let result = await product.save()
        console.log("created",result)
        return res.send({ product })
    }catch(err){
        const errorResponse = {}
            for (let key in err.errors) {
                if (err.errors[key].properties) {
                    errorResponse[key] = err.errors[key].properties.message
                }
                else {
                    errorResponse[key] = err.errors[key].toString().split(":")[1]
                }
            }
            return res.status(400).send({ ...errorResponse })
    }
}


0 commentaires

1
votes

En supposant que vous sachiez que si vous enregistrez les produits comme celui-ci, tous les mots-clés du req.body code> doivent être identiques que dans le produit code> Schéma. Cela devrait fonctionner:

exports.createProduct = async (req, res) => {
    try{
        const product = new Product(req.body).save();
        return res.json(product);
    }catch(err){
        const errorResponse = {}
            for (let key in err.errors) {
                if (err.errors[key].properties) {
                    errorResponse[key] = err.errors[key].properties.message
                }
                else {
                    errorResponse[key] = err.errors[key].toString().split(":")[1]
                }
            }
            return res.status(400).send({ ...errorResponse })
    }
}


0 commentaires