我在我的本机应用程序中使用pubnub api并拨打电话获取消息历史记录如下:
pubnub.history({
channel: channel,
count: 15,
includeTimetoken: false,
start: props.lastMessageTimestamp
},
function(status, response){
console.log(response);
if (!status.error){
props.addHistory(response);
}
}
);
出于某种原因,我总是在每条消息中都返回时间码。默认情况下,即使我指定不返回timetoken。知道这里发生了什么吗?这是一个示例回复:
{ messages:
{ messages:
[ { timetoken: null,
entry:
{ text: 'This is a message',
user: { _id: 1 },
createdAt: '2016-10-25T18:56:50.205Z',
_id: 'temp-id-958468' } },
{ timetoken: null,
entry:
{ text: 'Message',
user: { _id: 1 },
createdAt: '2016-10-25T18:57:45.810Z',
_id: 'temp-id-322242' } },
{ timetoken: null,
entry:
{ text: 'Test',
user: { _id: 1 },
createdAt: '2016-10-25T21:25:43.290Z',
_id: 'temp-id-806299' } },
{ timetoken: null,
entry:
{ text: 'Text',
user: { _id: 1 },
createdAt: '2016-10-25T21:34:41.204Z',
_id: 'temp-id-399187' } } ],
startTimeToken: 14774207865431668,
endTimeToken: 14774312812443264 },
timestamp: undefined }
答案 0 :(得分:1)
这是设计 - 新的SDK v4响应有效负载始终返回timetoken
密钥,如果includeTimetoken
为false(默认值),它只是没有值,但可能不需要排除时间戳,所以我们可能只是弃用includeTimetoken
。
我们正在重新设计存储架构和history
API,以极大地增强功能和可用性(易用性),默认情况下我们将返回timetoken
每条消息,但没有选项可以排除它们。这通常只是你需要的东西而不是你需要的东西。