浏览 SDKs · WASM
平台
SDKsWASM商业版

反向加载历史消息

从消息锚点向较新消息方向分页读取历史记录。

复制

当已经持有某一消息锚点(例如通过搜索或引用回复跳转到某条历史消息),需要向后(向较新方向)补齐加载后续消息时,可调用反向拉取接口 getAdvancedHistoryMessageListReverse():

参数说明

参数类型是否必填说明
conversationIDstring是要读取消息的会话 ID。
startClientMsgIDstring是向较新方向读取时使用的锚点消息 ID。
countnumber是本次读取的消息数量。
viewTypeMessageViewType是消息查看方向;读取历史时使用 MessageViewType.History。
import { MessageViewType } from '@openim/wasm-client-sdk';

const { data: page } =
  await openimsdk.getAdvancedHistoryMessageListReverse({
    conversationID,
    startClientMsgID: anchorMessage.clientMsgID,
    count: 30,
    viewType: MessageViewType.History,
  });

接口调用成功后,返回的 data 为 AdvancedMessageListResult 对象。详细字段含义请参考加载历史消息;此接口返回的 isEnd 为 true 时,表示向较新方向已加载至最新消息边界。

在列表渲染时,请根据界面滚动方向分别管理向上与向下加载,并将拉取到的消息按 clientMsgID 进行合并去重。该操作为只读拉取,不会触发新消息推送事件。