dsflxcfuw27742248
2018-11-30 05:34
浏览 130
已采纳

Laravel - React,强制Axios拒绝/捕获

I have a Laravel API which sends the current user either a JSON UserObject(if Logged on) or None/blank result(if no current User).

The frontend is React with axios to get data from API.

        Axios.get('/api/user/current')
        .then((response) => {
        })
        .catch((error)=>{
            alert('Login Failed '+ error);
        }); 

since Axios is a promise, it will either resolve or reject.

If I send a blank value in API, it will still consider as resolve. How can I force the axios to reject if there is no current user in API.

I can have if..else in the response callback to distingush between a user and a guest, but I just wanna know if its possible to force a catch.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dongwo2772 2018-11-30 05:41
    已采纳

    You should either respond with a 204 status if you dont want to send any data back. Or even better a 404 if that particular resource doesnt exist.

    The 404 will be considered a rejection by axios.

    点赞 评论
  • dplase3140 2018-11-30 05:38

    you can use axios interceptors to modify the request and responses.

    点赞 评论

相关推荐 更多相似问题