Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一个对index.php的请求暂停另一个请求,直到完成_Javascript_Php_Vue.js - Fatal编程技术网

Javascript 一个对index.php的请求暂停另一个请求,直到完成

Javascript 一个对index.php的请求暂停另一个请求,直到完成,javascript,php,vue.js,Javascript,Php,Vue.js,我正在使用php创建一个单页应用程序,其中使用URI有单独的index.php 3部分,如下所示 if(计数($uri_段){ 控制台日志(res); }); } get('./index.php/status')。然后((res)=>{ 控制台日志(res); }); 但是/start调用阻塞/status,如下图所示 Img网址: 我只需要使用index.php页面来构建,任何建议都可以解决它。提前感谢。如果您想一个接一个地呼叫端点,您可以按照下面的操作 function() {

我正在使用php创建一个单页应用程序,其中使用URI有单独的index.php 3部分,如下所示

if(计数($uri_段)<2){
//如果未找到URI,则打印模板。
}否则{
交换机($route){
案例“开始”:
//来自前端的通过ajax的CURL请求,CURL请求需要30秒才能完成甚至更多。
打破
案例“状态”:
//显示状态的其他ajax调用
打破
默认:中断;
}
}
现在我对
/start
/status
进行了异步调用,如下所示

async函数(){
等待axios.get('./index.php/start')。然后((res)=>{
控制台日志(res);
});
}
get('./index.php/status')。然后((res)=>{
控制台日志(res);
});
但是
/start
调用阻塞
/status
,如下图所示

Img网址:


我只需要使用
index.php
页面来构建,任何建议都可以解决它。提前感谢。

如果您想一个接一个地呼叫端点,您可以按照下面的操作

function() {
    axios.get('./index.php/start').then((res) => {
        axios.get('./index.php/status').then((res)=> {
            console.log(res);
       });
    });
}

如上所述,您希望在启动请求完成后获得状态。

您到底想要构建什么?你想一个接一个地调用send request还是其他什么?就像,需要调用一个curl并在html中显示相同的进程,soo/start将启动curl请求,同时/status将从后端获取状态(index.php/status)。检查下面的答案。可能是会话文件锁定的常见问题。解决方法是尽快在任何长时间运行的脚本中调用session\u write\u close。您可能是对的@04FS,尽管我已经尽快关闭session write。即使我没有使用会话也尝试过我的脚本,但没有任何效果。还有其他想法吗?我想你没有明白我的意思,Curl需要30秒才能完成,我需要在完成/start的请求后同时进行状态设置。因此,只需从原始问题的axios请求中删除
wait
。之前我没有使用async/wait,但问题是相同的,然后我认为这可能是解决方案,但不起作用。你能从postman那里检查一下你的后端URL吗(需要多长时间)?我认为问题不是来自javascript,而是来自php,因为如果我删除了curl调用,那么这很好,我想,我不知道为什么请求会一直保留到另一个完成。