Socket.io callback en un evento

eXtreM3

NodeJS y Socket.IO

¿Es posible crear un callback o una promise en un evento de escucha?

Tengo un código como el siguiente:

io.on('connection', (socket) => {
    //escucho evento
    socket.on('evento', function(data){
        var aux_data = JSON.parse(data);

    //llamo función exterior
    myFunction(aux_data);

    //cuando myFunction acabe sigo aquí
    //otherFunction();
});
});

var myFunction = function(data){
    //stuff...

return 'ok!';
}

Lo he intentado con una promise:

io.on('connection', (socket) => {
    //escucho evento
    socket.on('evento', function(data){
        var aux_data = JSON.parse(data);

    //llamo función exterior
    var foo = new Promise((resolve, reject) => {
    setTimeout(function(){
        var aux_id = myFunction(aux_data);

        resolve(aux_id);
    },500);
    }).then((success) => {
        console.log(success);
    });
    
    //cuando myFunction acabe sigo aquí
    //otherFunction();
});
});

var myFunction = function(data){
    //empiezo a ejecutar
    console.log('ejecutando');
    //termino de ejecutar

return 'ok!';
}

Pero no entiendo por qué el mensaje "ok!" aparece antes que el de "ejecutando". Se supone que hasta que myFunction no termine no salta al then, no?

Tunnecino

Te prometo que jajajaja no me voy a reir.

Edit:

Va... imagina que tu cuando vas al baño, primero cagas, y luego te limpias el culo. Pero, que pasa si no has terminado de cagar y te empiezas a limpiar sin esperar ni comprobarlo? Que te cagas en la mano.

1
1 comentario moderado
Lecherito

Hostias que dureza en este hilo

1 1 respuesta
-Yepeto-

Pero que ha pachaaoo...

Ranthas

#4 Y tanto, el pavo de #3 esta algo salty, le he dado manita por si acaso y todo

1 respuesta
Merkury

#6 Joder solo ha esperado un a;o para volver y soltar toda el rage. XDDD

3
HeXaN

Qué dureza por aquí.

Troyer

Esto promete.

1
eXtreM3

Pero qué cojones xD

Ha sido el destino, en cuanto he usado promise lo primero que me ha venido a la mente es ese retrasado. Ha aparecido hasta sin citarlo jajaja

1 3 respuestas
Jastro

#3 10 / 10

JAJAJAJAJ

que coño le hiciste #10 le quitabas los bocadillos en el recreo o como va esto?

Contestani

Creía que esta bordería era solo en #fitness

Leos

#10 Le robaste la novia?

Ridote

#10 Eres lo puto peor por lo que le hayas hecho a #3 , sea lo que sea. Y peor aún, por usar js!!!!!

DarkSoldier

please no os salgáis del topic, que el chico necesita ayuda, todo lo demás a /feda/dev, gracias!

2 1 respuesta
PiPePiTo

#15 No jodas, no, ahora nos cuentas qué movida pasa ahí.

eXtreM3

Hostias no serías aquel monguer que no pasó el test práctico en mi empresa y me dejó un cartel en el limpiaparabrisas del coche???

2 respuestas
DarkSoldier

#17 supongo que el test práctico no sería de node no?

1
Ranthas

#17 Directo a la mandíbula

BLoocK

X-Crim

Pero que te puso en el cartel @darksoldier ???

1 respuesta
Fyn4r

Ya decia yo que era raro que el hilo tuviese tantas respuestas xD

4
Caotico

Hostia, pillo sitio. Foto de la nota del limpia para poder entender de qué va todo esto plis.

Troyer

Vaya rage por no saber hacer dos consultas en SQL xD

DarkSoldier

Solo por quitar un poco de salseo, no voy poniendo notitas en los parabrisas a la gente y llevo 3 años en mi actual empresa xD

pd: vete tu a saber como debe tratar a la gente en las entrevistas para que le pongan notas en los parabrisas xDD capaz de ir de listo en persona también

AikonCWD

wat? no me estoy enterando de nada xd

HeXaN

Pero si uno es de Barcelona y otro de Granada xD

1 respuesta
eXtreM3

#21

tu problema no es no tener ni puta idea, es no saber que no tienes ni puta idea y encima, ir de listo

vas riéndote de la gente como si fueras un crack y no vales para absolutamente nada

Leos

Yo creo que @eXtreM3 le prometio amor eterno a @DarkSoldier y a los dos días se tiro a otro

Rzial

Pues esta quedando guapa la nueva temporada de JoJo