我有2个fetch函数调用同一个PHP脚本。PHP脚本的全部内容如下:
<?php
session_write_close();
sleep(10);
session_write_close();
仅用于确保会话确实关闭。但是,第一个脚本在约10秒后完成,第二个脚本在约20秒后完成:
为什么脚本1阻止脚本2?
为了完整起见,下面是JavaScript:
async function test() {
fetch('api/v1/test')
fetch('api/v1/test')
}
test();
2条答案
按热度按时间v440hwme1#
对于其他面临同样问题的人:如果在内置Web服务器上进行本地开发,则需要以下设置:
PHP_CLI_SERVER_WORKERS
目前不支持Windows,需要PHP〉=7.4。
文档链接:Documentation
b1zrtrql2#
根据上面的评论,我无法复制你提到的
blocking
行为。使用本质上相同的函数并向PHP端点(在本例中为同一页面)发送一个最小的GET请求,该端点的操作本质上与原始请求相同,所有请求几乎都返回相同的内容。
例如,这产生: