我正在使用Server-Sent Events通过Webapp将新数据推送给用户。我想避免显示两次相同的数据。我的想法是使用e.lastEventId作为Mozilla的文档推荐。
test_stream.php中显示的数据:
id:3 数据:测试
JS脚本:
var source = new EventSource('test_stream.php');
source.onmessage = function(e) {
var now_id = e.lastEventId;
if(last_id != now_id) {
var last_id = e.lastEventId;
document.body.innerHTML += e.data + '<br>';
}
};
问题:
“test”每隔3秒显示一次,而不是只显示一次,直到有新数据出现。我很熟悉ID,但看起来如果js脚本中的'if'不起作用......有什么想法吗?
答案 0 :(得分:1)
var source = new EventSource('test_stream.php');
var last_id;
source.onmessage = function(e) {
var now_id = e.lastEventId;
if(last_id != now_id) {
last_id = e.lastEventId;
document.body.innerHTML += e.data + '<br>';
}
};