Sendbird加载以前的消息

我有6条消息列表。 我想检索前2条消息,然后检索2条旧消息。 结果我只收到前2条消息

在他们的文档中,它是如何检索先前的消息。

// There should only be one single instance per channel view.
var prevMessageListQuery = groupChannel.createPreviousMessageListQuery(); //this from sendbird instance
prevMessageListQuery.limit = 2;
prevMessageListQuery.reverse = true;

// Retrieving previous messages.
prevMessageListQuery.load(function(messages,error) {
 if (error) {
     return;
 }

console.log(messages);
});

我从sendbird技术支持处得到的消息告诉我嵌套该函数,然后等待它接收回调。我尝试做一个Promise函数,但仍然仅前2条消息得到相同的结果。 这是我尝试检索以前的消息的功能

// There should only be one single instance per channel view.
loadPreviousMessages=(prevMessageListQuery=null)=>{
 if(prevMessageListQuery==null){
 prevMessageListQuery = groupChannel.createPreviousMessageListQuery(); //assigning from sendbird instance
 }
prevMessageListQuery.limit = 2;
prevMessageListQuery.reverse = true;

// Retrieving previous messages.
return new Promise((resolve,reject)=>{
 prevMessageListQuery.load(function(messages,error)=>{
   error ? reject(error):resolve([messages,prevMessageListQuery]) { // returning prevMessageListQuery because they said,i need to use the old object rather than assigning new object
 }
})
}

tryLoad=()=>{
 var data
  this.loadPreviousMessages().then((result)=>{
   console.log(result[0])
   data = result[1]
 })
 setTimeout(()=>{ //using settimout to make sure data stored first and to mimic load previous messages
    this.loadPreviousMessages(data).then((result)=>{
       console.log(result[0])
    })
 },2000)
}

我仍然得到相同的结果。 我仍然不了解他们所说的,关于使用嵌套回调并等待再次使用此方法之前要接收回调。

gongjie7623 回答:Sendbird加载以前的消息

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2915167.html

大家都在问