我试图从服务器发布更新一些数据,以便监听用户/个人资料的创建,但我无法使用Angular在客户端中监听这些事件。这可能会遗漏一些东西吗?或者我可能做错了什么?
// 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 :(得分:1)
尝试将其更改为大写P:
function listenProfile() {
io.socket.on('Profile',function(data){
console.log(data); //Nothing happens?
});
};
答案 1 :(得分:0)
我认为缺少" sus"到您的模型......例如
Profile.subscribe(req.socket, data);
通过GET链接到您的应用。
io.socket.get("/profile",function(data){
console.log(data);
});