【发布时间】:2018-03-08 16:02:03
【问题描述】:
我正在编写一些后台网页来维护我们的系统。 我正在使用 F3 我有一条处理时间长的路线,分为许多子流程。 我为每个子流程制作了一个模板,这样:
$f3->route('GET /someroute', function($f3) {
dosomework();
echo template::instance()->render('template-job1.html');
dosomeotherwork();
echo template::instance()->render('template-job2.html');
}
我希望我在浏览器部分输出准备就绪时进入(一次一个模板),但我得到的是我必须等待所有输出。
如果我尝试使用标准 php 输出(例如,使用一些 sleep() 和一些 echo()),我会逐行得到,而不是在进程结束时全部放在一起。
另一个 f3 示例:
$f3->route('GET /output', function($f3) {
echo "pippo\n";
for ($i=0;$i<100;$i++) {
echo ".";
sleep(1);
}
});
100 秒后输出。相反,如果我写一个简单的 php 页面:
<?php
echo "pippo2\n";
for ($i=0;$i<100;$i++) {
echo ".";
sleep(1);
}
每秒输出一个点。
【问题讨论】: