目前,我通过使用实时流API进行项目,我遇到了一个更新我的实时状态的问题,实时流提供程序允许我检索一些视图和实时状态的数据,但它' s不是一个常数值,即给定的值随时都会改变。是使用js PHP或jQuery更新我的实时数据间隔的任何方法,而不是js中的setInterval或setTimeout。
这是我的PHP代码(getBroadcastStatus.php)
<?php
use models\getLiveStatus;
spl_autoload_register(function($class_name){ include $class_name.".php";});
session_start();
error_reporting(E_ALL^E_NOTICE);
$getLiveStatus = new getLiveStatus();
$counter = rand(1, 10);
while (1) {
echo $getLiveStatus->getBroadcastStatus();
$counter--;
if (!$counter) {
$counter = rand(1, 10);
}
ob_end_flush();
flush();
sleep(1);
}
这是我的js代码遵循的 建议在这里: How make a Live status
此处的文档:https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events
var evtSource = new EventSource('getBroadcastStatus.php');
evtSource.addEventListener('ping',function(e){
alert(e.data);
}}) ;