2 votes

Problèmes de portée des fonctions Javascript

Je travaille sur une petite démo de Websockets et j'ai un problème de portée que je n'arrive pas à résoudre.

network = function () {

    this.host = "ws://localhost:8002/server.js";
    this.id = null;

    this.init = function (s) {
        var scene = s;

        try {
            socket = new WebSocket(this.host);

            socket.onopen = function (msg) {
            };

            socket.onmessage = function (msg) {
                switch(msg.data[0]) {
                case 'i':
                    var tmp = msg.data.split('_');

                    // cant access this function.
                    this.setId(tmp[1]);

                    break;
                }
            };

            socket.onclose = function (msg) {
            };
        }
        catch (ex) {}
    };

    this.setId = function(id) {
        this.id = id;
    };
};

Comment puis-je accéder à this.setId() à partir de l'événement socket.onmessage ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X