Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida Sintaxe

Boa noite.

Alguém poderia me explicar a sintaxe

local: (req, res, next) => { passport.authenticate( 'local', { session: false }, (erro, usuario, info) => {} )(req, res, next); },

não entendi o porquê do segundo par de parenteses em passport.authenticate( 'local', { session: false }, (erro, usuario, info) => {} )(req, res, next);

2 respostas
solução!

Oi, Paulo. Tudo certo?

O código

passport.authenticate( 'local', { session: false }, (erro, usuario, info) => {} )

retorna uma função. O JavaScript permite que nós chamemos a função imediatamente, ao usar () logo em seguida, e como essa função retornada recebe parâmetros, temos (req, res, next). Seria o mesmo de:

local: (req, res, next) => {
    let funcaoRetornada = passport.authenticate( 'local', { session: false }, (erro, usuario, info) => {});
    return funcaoRetornada(req, res, next);
},

Espero ter ajudado!

Muito obrigado, Leonardo.