SDKsuni-app / uni-app x
取消订阅用户状态
停止接收指定用户的在线状态变化。
unsubscribeUsersStatus() 取消指定用户的在线状态订阅。页面翻页、搜索结果变化或业务不再需要展示某些用户时,应及时取消对应订阅。
import { unsubscribeUsersStatus } from '@/uni_modules/unix-openim-sdk'
const userIDs = ['user_a', 'user_b']
await unsubscribeUsersStatus(userIDs)
userIDs.forEach((userID) => {
presenceByUserID.delete(userID)
})传入值是需要取消订阅的 OpenIMSDK 用户 ID 数组。调用前应去除空值和重复 ID。
Promise 成功表示取消订阅请求已经完成,返回的字符串不包含用户状态数据。应用应按请求中的 userID 从本地订阅集合和状态缓存中删除记录,不要等待在线状态事件确认取消结果。
取消订阅不会删除用户资料、好友关系或会话。需要再次跟踪这些用户时,重新调用订阅用户在线状态,再查询当前状态。
退出登录或销毁整个在线状态模块时,还应按订阅页面的说明调用 off(subscription) 清理事件监听;取消用户订阅和移除事件监听是两项不同操作。
这个页面有帮助吗?