【发布时间】:2019-03-11 07:57:17
【问题描述】:
我有一个带有 socket.io 的 NodeJs 服务器,我的应用程序是一个聊天工具,我使用 AngularJS 作为客户端,我的问题是当我将新数据发送到我的数据库时被正确保存,但是当我到达我的客户端时数据不会自行刷新,
在我的客户端聊天控制器上
我有这个
socket.on(CHAT.GET_CHATS, instance.onChatsReceived);
我正在调用这个函数
从套接字服务器接收发出的对象以及所有数据
function onChatsReceived(chatsArr) {
console.log(chatsArr);
// decode messages for history array
chatsArr.forEach(function (oneChat) {
var parsed = JSON.parse(oneChat.members);
var parsedSent = JSON.parse(oneChat.sentby);
// console.log(parsedSent)
var nick = parsedSent[0].lastseen;
// console.log(nick);
oneChat.isOnline = $scope.isOnline(parsedSent[0].lastseen);
var decoded = htmlDecode(oneChat.message);
oneChat.message = decoded;
oneChat.members = parsed;
});
$scope.messagesCounted = true;
$scope.$applyAsync(function () {
$scope.chats = chatsArr;
if ($scope.chats.length < 100 ) {
$scope.loadMoreContacts = false;
}
});
}
但如果我不刷新浏览器,我的对象数组不会改变
插入数据后,我的数组来自我的套接字
(18) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
插入数据并刷新浏览器后
(19) [{…}、{…}、{…}、{…}、{…}、{…}、{…}、{…}、{…}、{…}、{…} , {…}, {…}, {…}, {…}, {…}, {…}, {…}]
这就像 socket.io 发出数据但 AngularJS 不刷新它有些可以帮助我提前感谢。
【问题讨论】:
标签: sql angularjs node.js socket.io