Update() launching before create()?

Client-side :

class Scene1 extends Phaser.Scene {

    constructor() {
        super('Scene1');
    }

    create() {
        var self = this;
        let currentMap = 0;

        socket.emit('changeMap', currentMap);

        socket.on('currentPlayers', function (players) {
            Object.keys(players).forEach(function (id) {
                if (players[id].playerId === socket.id) {
                    addPlayer(self, players[id]);
                } else if(players[id].currentMap === currentMap){
                    addOtherPlayers(self, players[id]);
                }
            });
        });

        socket.on('disconnect', function () {
            self.player.destroy();
        });
    }

    update() {
        if (this.player) {
            if (this.player.x > config.width+20) {
                this.player.x = 0;
                socket.emit('preQuit');
                socket.off('currentPlayers');
                socket.off('disconnect');
                this.scene.start('Scene2');
            }

            if (this.player.x < 0) {
                this.player.x = config.width;
            }
        }
        if (this.player) {
            player_gameplay(this);
        }
}

Server-side :

socket.on('preQuit', function () {
      socket.leave(player[socket.id].currentMap);
      io.sockets.in(player[socket.id].currentMap).emit('disconnect', socket.id);
    });

    socket.on('changeMap', function (data) {
      player[socket.id].currentMap = data;
      socket.join(data);
      socket.emit('currentPlayers', player);
    });

functions :

function addPlayer(self, playerInfo) {
    var playerSprite = self.add.sprite(0, 0, playerInfo.skin.sprite);
    self.player = self.add.container(playerInfo.x, playerInfo.y).setSize(playerSprite.width, playerSprite.height);
    var playerUsername = self.add.text(0,0,playerInfo.username,{
        fontFamily:'Arial',
        color:'#227805',
      }).setFontSize(18).setOrigin(0.5, 1.5);

    self.player.add(playerSprite);
    self.player.add(playerUsername);

    self.player.playerId = playerInfo.playerId;
    self.physics.world.enable(self.player);
    self.physics.add.collider(self.player, floor);
}
function player_gameplay (self) {
    if (cursors.left.isDown) {
        self.player.body.setVelocityX(vitesse * -1);
        self.player.list[0].flipX = true;
        self.player.walk = true;
    } else if (cursors.right.isDown) {
        self.player.body.setVelocityX(vitesse);
        self.player.list[0].flipX = false;
        self.player.walk = true;
    } else {
        self.player.body.setVelocityX(0);
        self.player.walk = false;
    }

    if (cursors.up.isDown && (self.player.body.blocked.down || self.player.body.touching.down || fly)) {
        self.player.body.setVelocityY(-350); // 1350
    }

    if (self.player.body.velocity.y > 0 && !(self.player.body.blocked.down || self.player.body.touching.down)) {
        self.player_down = true;
    } else if (self.player.body.velocity.y < 0 && !(self.player.body.blocked.down || self.player.body.touching.down)) {
        self.player_down = true;
    }

    if(self.player.y > config.height){
        self.player.y = 0;
    }
}

I tryed to simpplify this as much as possible, sorry if you get confused, I never comment :’)