Estoy tratando de crear un lobby de espera en el que, cuando envío una solicitud de publicación en la API, almacena los datos del jugador y luego espera a que se una otro jugador. cuando se une un nuevo jugador, empareja a los jugadores y luego los devuelve en la respuesta de ambos jugadores. Pero el problema al que me enfrento es que cuando disparo la solicitud del primer jugador, no está esperando e instantáneamente devuelve el error 404.
Este es el código:-
esta es la función que se ejecuta cuando se llama a la API: -
startGame(ctx) { const player = ctx.request.body; addToPlayers(player); messageBus.on('match', (data) => { return data; })}estas son las funciones auxiliares y los emisores: -
var players = []; var EventEmitter = require('events').EventEmitter; var messageBus = new EventEmitter(); messageBus.setMaxListeners(100); // function to manage players array function addToPlayers(player) { if (!player) { return; } players.push(player) if (players.length >= 2) { const player1 = players.shift(); const player2 = players.shift(); messageBus.emit('match', {player1, player2}); }}la solicitud de publicación consta de: - { "id": "1", "cantidad": "1000" }