title: Mutate vuex store state with action within axios response - commit does not work
body: <p><strong>Preamble</strong></p>
  <p>I'm completely stumped by this. The answer will be obvious, of that I am sure, but I can't see it.</p>
  <p><strong>The Problem:</strong></p>
  <p>I cannot write to my vuex store with an Axios response. I have read about and tried async/await, thought I had a decent grasp of promises and have copied examples word for word. No dice.</p>
  <p>This is my mutator, it works when passed a payload outside of axios:</p>
  <pre class="lang-js prettyprint-override"><code>mutations: {
      setDays (state, payload) {
          state.savedDays = payload
      }
  }
  </code></pre>
  <p>This action, created for debugging purposes, correctly updates the store with the word &quot;cheese&quot; and logs the expected response object to the console:</p>
  <pre class="lang-js prettyprint-override"><code>getDays ({commit}) {
      axios.get('/days/')
      .then( (response) =&gt; {
          console.log(response.data)
      })
      commit('setDays', &quot;cheese&quot;)
  }
  </code></pre>
  <p>This action does not update the store, but does still log correctly to the console:</p>
  <pre class="lang-js prettyprint-override"><code>getDays ({commit}) {
      return axios.get('/days/')
      .then( (response) =&gt; {
          // response object removed for debugging
          commit('setDays', &quot;cheese&quot;)
          console.log(response.data)
      }
  })
  </code></pre>
  <p>I have read the Vuex docs and many other solutions on here, have tried many things, including the following (doesn't work):</p>
  <pre class="lang-js prettyprint-override"><code>async getDays ({commit}) {
      const response = await axios.get('/days/')
      commit('setDays', response)
  })
  </code></pre>
  <p>I receive no error messages, use chrome vue-devTools.
  Thank you in advance.</p>
  <hr />
  <p>Okay, I did this to further test based on comments below:</p>
  <pre class="lang-js prettyprint-override"><code>async getDays ({commit}) {
      commit('setDays', &quot;crackers&quot;)
      const response = await axios.get('/days/byType/30/1')
      console.log(&quot;Response:&quot;, response.data)
      commit('setDays', response.data)
      return response
  }
  </code></pre>
  <p>When this action is dispatched, the store value is successfully mutated to &quot;crackers&quot;.</p>
  <p>console.log successfully logs the response object.</p>
  <p>The second commit does nothing, even if I try and commit a string rather than the response.data object.</p>