Axios interceptor doesn't update the Vuex stateAxios interceptors and asynchronous loginVuex with axios call, context is unknown when the promise resolvesBest Practice in Error Handling in Vuejs With Vuex and AxiosCan't access Vuex storage mutation inside Axios interceptorVuex store is undefined in NUXT middlewareVue.js: Uncaught promises in vuex actionsStorage not working properly in vuex axios responseHow to make Vuex state update after axios callNuxt-Axios post with header and bodyNuxt Error: [vuex] Do not mutate vuex store state outside mutation handlers when mutating from plugin

Check if two datetimes are between two others

Prime joint compound before latex paint?

New order #4: World

If a centaur druid Wild Shapes into a Giant Elk, do their Charge features stack?

Could a US political party gain complete control over the government by removing checks & balances?

What are the advantages and disadvantages of running one shots compared to campaigns?

What is the meaning of "of trouble" in the following sentence?

How many letters suffice to construct words with no repetition?

Need help identifying/translating a plaque in Tangier, Morocco

Calculate Levenshtein distance between two strings in Python

"listening to me about as much as you're listening to this pole here"

Is every set a filtered colimit of finite sets?

Can a planet have a different gravitational pull depending on its location in orbit around its sun?

Manga about a female worker who got dragged into another world together with this high school girl and she was just told she's not needed anymore

Are cabin dividers used to "hide" the flex of the airplane?

How can I add custom success page

Why do UK politicians seemingly ignore opinion polls on Brexit?

Shall I use personal or official e-mail account when registering to external websites for work purpose?

Is Social Media Science Fiction?

Is ipsum/ipsa/ipse a third person pronoun, or can it serve other functions?

Pristine Bit Checking

What's the difference between repeating elections every few years and repeating a referendum after a few years?

Denied boarding due to overcrowding, Sparpreis ticket. What are my rights?

Hosting Wordpress in a EC2 Load Balanced Instance



Axios interceptor doesn't update the Vuex state


Axios interceptors and asynchronous loginVuex with axios call, context is unknown when the promise resolvesBest Practice in Error Handling in Vuejs With Vuex and AxiosCan't access Vuex storage mutation inside Axios interceptorVuex store is undefined in NUXT middlewareVue.js: Uncaught promises in vuex actionsStorage not working properly in vuex axios responseHow to make Vuex state update after axios callNuxt-Axios post with header and bodyNuxt Error: [vuex] Do not mutate vuex store state outside mutation handlers when mutating from plugin






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I would like to show a spinner using an axios interceptor by setting the state from true upon request and false on response.



services/apiClient.js



import store from '../store/index';

axiosClient.interceptors.request.use(function (config)
store().commit('SET_LOADING_STATUS', true);
return config;
, function (error)
return Promise.reject(error);
);

axiosClient.interceptors.response.use(function (response)
store().commit('SET_LOADING_STATUS', false);
if (response.data.status.code != 200)
throw message: response.data.status.errorDetail ;
else
return response;

, function (error)
return Promise.reject(error);
);


then on my Vuex store/index.js



import Vuex from 'vuex';
const store = () =>
return new Vuex.Store(
state:
isLoading: null
,
mutations:
SET_LOADING_STATUS(state, bool)
console.log(bool);
state.isLoading = bool;

,
actions:
setLoadingStatus( commit , bool)
commit('SET_LOADING_STATUS', bool);

,
getters:
loadedState(state)
return state.isLoading;


);
;

export default store;


I'm getting the true and false here from console.log



but when I'm getting it from my layouts/default.vue



<template>
<div>
isLoading
<nuxt/>
</div>
</template>

<script>
export default
computed:
isLoading()
console.log(this.$store.getters.loadedState);
return this.$store.getters.loadedState;



</script>


the isLoading computed property returns null I'm expecting this should return false because on response interceptor from axios I'm setting it to false



In my index.vue I'm triggering the request from axios



<template>
<div>
<h1> Index Page </h1>
</div>
</template>

<script>
export default
created()
this.$store.dispatch('getUsers', this); // this will trigger API call


</script>









share|improve this question




























    0















    I would like to show a spinner using an axios interceptor by setting the state from true upon request and false on response.



    services/apiClient.js



    import store from '../store/index';

    axiosClient.interceptors.request.use(function (config)
    store().commit('SET_LOADING_STATUS', true);
    return config;
    , function (error)
    return Promise.reject(error);
    );

    axiosClient.interceptors.response.use(function (response)
    store().commit('SET_LOADING_STATUS', false);
    if (response.data.status.code != 200)
    throw message: response.data.status.errorDetail ;
    else
    return response;

    , function (error)
    return Promise.reject(error);
    );


    then on my Vuex store/index.js



    import Vuex from 'vuex';
    const store = () =>
    return new Vuex.Store(
    state:
    isLoading: null
    ,
    mutations:
    SET_LOADING_STATUS(state, bool)
    console.log(bool);
    state.isLoading = bool;

    ,
    actions:
    setLoadingStatus( commit , bool)
    commit('SET_LOADING_STATUS', bool);

    ,
    getters:
    loadedState(state)
    return state.isLoading;


    );
    ;

    export default store;


    I'm getting the true and false here from console.log



    but when I'm getting it from my layouts/default.vue



    <template>
    <div>
    isLoading
    <nuxt/>
    </div>
    </template>

    <script>
    export default
    computed:
    isLoading()
    console.log(this.$store.getters.loadedState);
    return this.$store.getters.loadedState;



    </script>


    the isLoading computed property returns null I'm expecting this should return false because on response interceptor from axios I'm setting it to false



    In my index.vue I'm triggering the request from axios



    <template>
    <div>
    <h1> Index Page </h1>
    </div>
    </template>

    <script>
    export default
    created()
    this.$store.dispatch('getUsers', this); // this will trigger API call


    </script>









    share|improve this question
























      0












      0








      0








      I would like to show a spinner using an axios interceptor by setting the state from true upon request and false on response.



      services/apiClient.js



      import store from '../store/index';

      axiosClient.interceptors.request.use(function (config)
      store().commit('SET_LOADING_STATUS', true);
      return config;
      , function (error)
      return Promise.reject(error);
      );

      axiosClient.interceptors.response.use(function (response)
      store().commit('SET_LOADING_STATUS', false);
      if (response.data.status.code != 200)
      throw message: response.data.status.errorDetail ;
      else
      return response;

      , function (error)
      return Promise.reject(error);
      );


      then on my Vuex store/index.js



      import Vuex from 'vuex';
      const store = () =>
      return new Vuex.Store(
      state:
      isLoading: null
      ,
      mutations:
      SET_LOADING_STATUS(state, bool)
      console.log(bool);
      state.isLoading = bool;

      ,
      actions:
      setLoadingStatus( commit , bool)
      commit('SET_LOADING_STATUS', bool);

      ,
      getters:
      loadedState(state)
      return state.isLoading;


      );
      ;

      export default store;


      I'm getting the true and false here from console.log



      but when I'm getting it from my layouts/default.vue



      <template>
      <div>
      isLoading
      <nuxt/>
      </div>
      </template>

      <script>
      export default
      computed:
      isLoading()
      console.log(this.$store.getters.loadedState);
      return this.$store.getters.loadedState;



      </script>


      the isLoading computed property returns null I'm expecting this should return false because on response interceptor from axios I'm setting it to false



      In my index.vue I'm triggering the request from axios



      <template>
      <div>
      <h1> Index Page </h1>
      </div>
      </template>

      <script>
      export default
      created()
      this.$store.dispatch('getUsers', this); // this will trigger API call


      </script>









      share|improve this question














      I would like to show a spinner using an axios interceptor by setting the state from true upon request and false on response.



      services/apiClient.js



      import store from '../store/index';

      axiosClient.interceptors.request.use(function (config)
      store().commit('SET_LOADING_STATUS', true);
      return config;
      , function (error)
      return Promise.reject(error);
      );

      axiosClient.interceptors.response.use(function (response)
      store().commit('SET_LOADING_STATUS', false);
      if (response.data.status.code != 200)
      throw message: response.data.status.errorDetail ;
      else
      return response;

      , function (error)
      return Promise.reject(error);
      );


      then on my Vuex store/index.js



      import Vuex from 'vuex';
      const store = () =>
      return new Vuex.Store(
      state:
      isLoading: null
      ,
      mutations:
      SET_LOADING_STATUS(state, bool)
      console.log(bool);
      state.isLoading = bool;

      ,
      actions:
      setLoadingStatus( commit , bool)
      commit('SET_LOADING_STATUS', bool);

      ,
      getters:
      loadedState(state)
      return state.isLoading;


      );
      ;

      export default store;


      I'm getting the true and false here from console.log



      but when I'm getting it from my layouts/default.vue



      <template>
      <div>
      isLoading
      <nuxt/>
      </div>
      </template>

      <script>
      export default
      computed:
      isLoading()
      console.log(this.$store.getters.loadedState);
      return this.$store.getters.loadedState;



      </script>


      the isLoading computed property returns null I'm expecting this should return false because on response interceptor from axios I'm setting it to false



      In my index.vue I'm triggering the request from axios



      <template>
      <div>
      <h1> Index Page </h1>
      </div>
      </template>

      <script>
      export default
      created()
      this.$store.dispatch('getUsers', this); // this will trigger API call


      </script>






      javascript axios nuxt.js






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 22 at 1:50









      Allen ChunAllen Chun

      1,6921937




      1,6921937






















          0






          active

          oldest

          votes












          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55291760%2faxios-interceptor-doesnt-update-the-vuex-state%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55291760%2faxios-interceptor-doesnt-update-the-vuex-state%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

          Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

          Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript