我想为包含未读邮件的用户检索频道列表。到目前为止,我找到的最好的解决方案(如果我错了,请纠正我)是使用通道描述符。
// Example for a single page
client.getUserChannelDescriptors().then(function(paginator) {
for (var i = 0; i < paginator.items.length; i++) {
var descriptor = paginator.items[i].descriptor;
if (descriptor.unread_messages_count > 0) {
console.log("Channel found, id: " + descriptor.uniqueName);
}
}
});
我的问题:有没有一种方法可以在分页程序对象中进行排序,这样我就可以首先检索带有未读消息的频道,这样我就不必遍历整个频道列表了?
答案 0 :(得分:0)
这里是Twilio开发人员的传播者。
您可以对频道进行排序,但不能使用getUserChannelDescriptors
进行排序。相反,您需要确保已加载所有订阅的频道,然后可以使用getLocalChannels
对它们进行排序。
从文档中
getLocalChannels( [sortingOptions])
以提供的排序顺序获取客户端在本地已知的频道数组。本地已知的通道是在客户端运行时创建和/或加入的通道,当前已登录用户订阅的通道。要确保获取完整的已订阅频道列表,请调用
Client#getSubscribedChannels
方法,并借助Paginator#nextPage
方法获取所有页面。
然后,sorting options可以按lastmessage
进行排序。