2015-04-30 2 views
1

Im пытается опубликоватьУдалить некоторые данные с сервера, чтобы прослушать создание пользователя/профиля, но я не смог прослушать эти события на клиенте с помощью Angular. Возможно ли, что здесь что-то не хватает? Или может быть что-то не так?Невозможно прослушивать события сервера, используя publishUpdate с sails js

// UserController 

saveUser: function(req, res) { 
User.create({name: req.param('name'), profile: {aboutMe: req.param('about'), gender: req.param('gender')}}) 
    .exec(function(err, user) { 
    Profile 
     .findOneById(user.profile) 
     .exec(function(err, profile) { 
     profile.user = user.id; 
     profile.save(function(error, saved){ 
     if (error) return res.badRequest('Error.'); 
     if (saved) res.json(saved); 

     Profile.publishUpdate(saved.id, saved); 
     }); 
    }); 
    }); 
} 

// Client Angular 

$scope.send = createUser; 

listenProfile(); 

function createUser() {   
var obj = { 
    name: $scope.name, 
    about: $scope.profile.about, 
    gender: $scope.profile.gender 

    User.create(obj).then(function(data) { 
    console.log(data); // Data displayed correctly 
    }, function(error) { 
    console.log(error); 
    }); 
} 

function listenProfile() { 
    io.socket.on('profile',function(data){ 
    console.log(data); //Nothing happens?    
    }); 
}; 
+0

Уверен, что это не «Профиль»? – tpie

+0

Не знаете, что вы имеете в виду? – adavia

ответ

1

Попробуйте изменить его заглавной P:

function listenProfile() { 
    io.socket.on('Profile',function(data){ 
    console.log(data); //Nothing happens?    
    }); 
}; 
+0

Это не связано. То же самое в обоих случаях – adavia

+0

То же самое в обоих случаях? Я не знаю, что вы имеете в виду. publishUpdate испускает название модели в качестве события. Название модели - профиль, а не профиль. Какой из них он испускает? – tpie

+0

Проверьте http://sailsjs.org/#!/documentation/reference/websockets/sails.io.js/io.socket.on.html?q=notes – adavia

0

Я думаю, что не хватает "Подпишитесь" для вашей модели ... например

Profile.subscribe(req.socket, data); 

И связан с вашим приложением через GET.

io.socket.get("/profile",function(data){ 
     console.log(data); 
    }); 
Смежные вопросы