浏览 SDKs · uni-app / uni-app x
平台
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) 清理事件监听;取消用户订阅和移除事件监听是两项不同操作。