我让chat
使用laravel
和angular
我有能力返回聊天中的用户join
和用户left
,我这里的问题是当user
离开时,他仍然在用户加入的聊天列表中,即使他离开聊天,他需要刷新给我的是,它已经消失了,我的角网站从来没有得到刷新,所以它总是停留在聊天列表中的用户加入
joinChat(id:any) {
this.echo.join(`chat`)
.here((users:any) => {
this.users = users;
this.users = this.users.filter(user => {
return user.id !== id;
});
console.log('users here : ', this.users);
})
.joining((user:any) => {
this.users.push(user);
console.log('join : ', user.name, user);
})
.leaving((user:any) => {
console.log('Leave : ', user.name, user);
this.users = this.users.filter(userList => {
user.id !== userList.id;
});
})
.error((error:any) => {
console.error(error);
});
}
1条答案
按热度按时间7cwmlq891#
箭头函数中的大括号形成了函数体,而你失去了隐式返回。所以你需要显式地返回一个值,否则函数将返回
undefined
,因此过滤器不会接收 predicate ,而是void
,它无法决定过滤掉什么。请尝试将
return
添加到.leaving(...)
中的过滤器 predicate 函数中或用圆括号替换花括号。