2017-10-20 11 views
0

Je suis en train d'écrire une fonction qui est destinée à ajouter un employé à la fin d'une liste d'employés, mais je continue à rencontrer l'erreur dans le titre. J'ai essayé de modifier le code, mais je ne suis pas sûr de ce que je fais mal. Voici la fonction:Impossible de définir la propriété 'employeeNum' de undefined

données service.js

module.exports.addEmployee = function(employeeData) { 
     employeeData.employeeNum = ++empCount; 
     return new Promise(function(resolve,reject) { 
      employees.push(employeeData); 
      if(employees.length == 0) { 
       reject("no results returned"); 
      } 
      resolve(employeeData); 
     }); 
    } 

server.js

app.get("/employees/add", (req,res) => { 
    res.render("addEmployee"); 
}); 

app.post("/employees/add", (req, res) => { 
    console.log(req.body); 
    res.redirect("/employees"); 
}); 
+0

Aurait besoin de voir plus de code. La variable employeeData est-elle indéfinie? D'où vient la variable «employés»? –

+0

Appelez-vous 'addEmployee' avec' null' ou 'undefined' ou juste vide? Fondamentalement autre chose qu'un objet? – putvande

+0

pouvez-vous s'il vous plaît élaborer votre question plus –

Répondre

0

La fonction actuelle n'est pas la racine du problème ... Cependant, vous essayez de définir une propriété sur un param que vous attendez d'être un objet. Mais l'appelant a soit passé une variable qui a un value === undefined, ou peut-être ne passe aucun params du tout (dans les deux cas, le param employeeData est indéfini et vous n'avez aucune vérification par rapport, donc nous voyons l'erreur).