一个请求index.php暂停其他请求直到完成

时间:2019-06-14 05:06:55

标签: javascript php vue.js

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

if(count($uri_segments) < 2) {
    // print the template, if no URI found.
}else {
    switch($route) {
        case 'start':
            // a CURL request via ajax from frontend, curl request taking 30s to complete even more.
            break;
        case 'status' :
            // other ajax call to display status
            break;
        default: break;
    }
}

现在我像下面这样正常地对/start/status进行了异步调用

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

但是/start呼叫阻止了/status,如下图所示。

  

图片网址:https://www.screencast.com/t/EXjyL8fYCl2q

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

1 个答案:

答案 0 :(得分:1)

如果您要一个接一个地呼叫端点,可以执行以下操作。

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

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