如何等待 axios 响应并将响应值应用于重定向?

How do I wait for an axios response and apply the response value to a redirect?

如何使此方法等待 axios 响应,然后应用值进行重定向?。 http 请求的响应是 JSON.

async process(p) {
    console.log('About to Call API');
    console.log('Calling HTTP Service');

    try {
        const t = await axios.get("http://sampleendpoint-inside-intranet.net/apiservice?param="+p)    
        
        //var redirectURL = t.redirectURL;
        //window.location.href = redirectURL;
        return '';

    }catch(error) {
        console.log(error);
        return 'error';
    }
    

您可以在 axios.get 函数之后使用 .then。这将在您收到响应后立即执行。

const t = await axios.get("http://sampleendpoint-inside-intranet.net/apiservice?param="+p)
  .then((response) => {
     console.log(response.data);
   })
  .catch((error) => {
    console.log(error);
    return 'error';
  })

在上面的示例中,我记录了响应。

您也可以使用 .catch,这样您就不再需要 try catch

响应数据在 t.data 中,您可以尝试记录响应以查看它包含什么,然后您可以使用 window.location.href = 'some_url'.

重定向
async process(p) {
    console.log('About to Call API');
    console.log('Calling HTTP Service');

    try {
        const t = await axios.get("http://sampleendpoint-inside-intranet.net/apiservice?param="+p)

        console.log(t.data); // You can log the data to check what data you get returned here
        window.location.href = t.data.redirectUrl;
    } catch(error) {
        console.log(error);
        return 'error';
    }
}