Свойства объекта недоступны при возврате сервером nodeJS - PullRequest
0 голосов
/ 03 сентября 2011

Я играл с node.js и столкнулся с проблемой, которую никак не могу решить. На стороне сервера у меня есть несколько объектов, которые предоставляют общедоступный интерфейс для управления ими. Но проблема в том, что в этом интерфейсе у меня есть функции, которые недоступны при возврате во внешний интерфейс. Кто-нибудь знает, что я делаю неправильно или почему это функция, а не ошибка?
Пример тестового кода на стороне сервера:

socket.on('F-test', function(){
    var o1 = {
        A: 5
    };

    var o2 = function(){
        this.A = function(){
            return 5;
        }
    };

    var o3 = function(){
        var A = function(){
            return 5;
        }

        return {
            'A': A
        }
    };

    var o4 = function(){
        var that = this;
        that.A = function(){
            return 5;
        }

        return that;
    };

    var o5 = {
        A: function(){
            return 5;
        }
    };

    socket.emit('B-test', {o1: o1, o2: new o2(), o3: new o3(), o4: new o4(), o5: o5});
});

И в консоли я получаю:

enter image description here

Хостинг предоставлен no.de (Joyent);

1 Ответ

2 голосов
/ 03 сентября 2011

Проблема в том, что функции не сериализуются.Только свойства будут сериализованы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...