我正在开发一个处理用户请求并以JSON格式发送响应的api。我想发送JSON响应,然后完成需要更多时间的工作,例如向用户发送邮件。 脚本伪代码
我提到了this stackoverflow solution,它在浏览器中完全按照我的要求运行,但是当我在POSTMAN或使用此API的设备中测试时,我没有得到确切的响应。 浏览器在加载整个页面时快速响应,但邮递员不会显示结果直到执行结束, 例如代码
<?php
ignore_user_abort(true);
set_time_limit(0);
ob_start();
// do initial processing here
echo json_encode(array("date", strtotime(date('Y-m-d H:i:s')))) . "<br />"; // send the response
header('Connection: close');
header('Content-Length: '.ob_get_length());
ob_end_flush();
ob_flush();
flush();
for ($i = 0; $i < 999999999; $i++) {
}
echo json_encode(array("date", strtotime(date('Y-m-d H:i:s'))));
?>
上面的代码在浏览器中工作正常,但在POSTMAN REst客户端调用时,它执行的时间更长 提前致谢