我在 localhost 中有一个 php 代码,它回显的数据并在两者之间休眠。在客户端,我能够及时看到接收到的数据,并且我也进行了渲染。
$condition = true;
while($condition) {
$data = get_some_data(); // may not fetch new data to be sent, each iteration.
echo $data;
ob_flush();
$i++;
sleep(1);
$condition = run_some_logic(); //could become false depending on DB value
}
但是,当我打开另一个浏览器并尝试打开另一个页面(再次本地主机)时,它甚至没有打开。当我关闭第一个窗口并在一段时间后尝试打开第二个 URL 时,它正在工作。
我认为这显然与睡眠有关。有没有办法在不阻塞所有其他请求的情况下调用 sleep() 或间隔输出数据?
我在这里要做的是,在满足条件之前不要让循环完成。