本文整理汇总了TypeScript中phoenix.Presence类的典型用法代码示例。如果您正苦于以下问题:TypeScript Presence类的具体用法?TypeScript Presence怎么用?TypeScript Presence使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Presence类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: test_presence
function test_presence() {
let state = {};
const stateFromServer = {};
const onJoin = (id: string, current: any, newPres: any) => {
if(!current){
console.log("user has entered for the first time", newPres)
} else {
console.log("user additional presence", newPres)
}
};
const onLeave = (id: string, current: any, leftPres: any) => {
if(current.metas.length === 0){
console.log("user has left from all devices", leftPres)
} else {
console.log("user left from a device", leftPres)
}
};
state = Presence.syncState(state, stateFromServer, onJoin, onLeave);
const listBy = (id: string, {metas: [first, ...rest]} : {metas: any[]}) => {
first.count = rest.length + 1;
first.id = id;
return first;
};
const onlineUsers = Presence.list(state, listBy);
}
示例2: logState
channel.on('presence_state', (state) => {
presenceState = Presence.syncState(presenceState, state);
logState(presenceState);
});
示例3:
const logState = (state: Object) => {
Presence.list(state, (id: string) => id).forEach(console.log);
};