J'apprends et j'essaye de comprendre javascript, et dans une vidéo im suivant, le mec a utilisé ce code

app.post('/content/uploads', (req,res) => {
  upload(req, res, (err) => {
    console.log(req.file);
    res.send('testing');
  })
});

Maintenant j'essaye de le convertir en normal, je comprends que app.post('/content/uploads', (req,res) => { se traduit par app.post('/content/uploads', function(req, res){

Mais quand j'essaye de faire upload(req, res, (err) => {, je ne peux pas.

Ce que j'ai essayé c'est

upload(function(req, res, (err)){

Mais j'obtiens une erreur dans

upload(function(req, res, (err)){
                          ^
SyntaxError: Unexpected token '('  

Quelle est la bonne façon de le traduire?

Ma traduction échouée ressemble à ceci

app.post('/content/uploads', function(req, res){
  upload(function(req, res, (err)){
    if(err){
      res.render('index', {
        msg: err
      });
    } else {
      console.log(req.file);
      res.send('test');
    }
  });
});

Merci

0
anon999 4 juin 2020 à 04:33

3 réponses

Meilleure réponse

Je vous suggère de passer du temps à vous familiariser avec la syntaxe des flèches, ce n'est pas "anormal".

Dans tous les cas, vous pouvez trouver cet outil utile: https://babeljs.io/en/repl

Vous pouvez coller le code et sélectionner uniquement ES2015 sur la gauche (décochez les autres) et voir comment il traduit le code.

Par exemple, il affichera:

app.post('/content/uploads', function (req, res) {
  upload(req, res, function (err) {
    console.log(req.file);
    res.send('testing');
  });
});
1
Chase 4 juin 2020 à 01:38
upload(req, res, (err)=>{
    //TODO
});

Le code ci-dessus est équivalent à:

var someFunc = (err)=>{
    //TODO
};
upload(req, res, someFunc);

Donc, vous pouvez aimer ceci avec le mot-clé de fonction:

upload(req, res, function (err) {
    //TODO
});
1
capra314cabra 4 juin 2020 à 01:43
app.post('/content/uploads', function (req,res) {
  upload(req, res, function (err) {
    console.log(req.file);
    res.send('testing');
  })
});
1
David G 4 juin 2020 à 01:40