title: Vuex mutation not working synchronously but neither returning a promise
body: <p>My vuex mutation seems to not work synchronous. It looks like this:</p>
  
  <pre><code>mutations: {
      computeStatusData(state, status) {
          if (status.active !== true) { return }
  
          const started = new Date(status.startedAt);
          started.setHours(0, 0, 0, 0);
          const today = new Date();
  
          status.currentDay = Math.floor((today.getTime() - started.getTime()) / (1000 * 60 * 60 * 24));
          status.currentWeek = Math.floor(status.currentDay / 7);
  
          if (!status.programm.sections) { console.log('No Sections'); return; }
  
          for (let i = 0; i &lt; status.programm.sections.length; i++) {
              if (status.currentWeek &lt;= status.programm.sections[i].to) {
                  status.currentSection = i;
                  console.log('Current Section', status.currentSection)
                  break;
              }
          }
          console.log('new status!', status)
      },
  </code></pre>
  
  <p>In a method of my component I call it like this:</p>
  
  <pre><code>    async loadSections() {
  
          await somethingElse();
  
          if (this.status &amp;&amp; this.programm.sections) {
              console.log('Recomputing Status')
              this.status.progamm = this.programm;
              this.$store.commit('computeStatusData', status);
              console.log('updated Status', this.status)
          }
  
          this.$nextTick(() =&gt; { this.$forceUpdate(); }) 
      },
  </code></pre>
  
  <p>My console log looks like this:</p>
  
  <pre><code>Recomputing Status
  updated Status {…}
  Current Section 0
  new status! {…}
  </code></pre>
  
  <p>If the mutation was synchronous it should log <code>Current Section 0</code> and <code>new Status!</code> before <code>updated Status</code> but it doesn't.</p>
  
  <p>It doesnt seem to return a Promise because when I do <code>console.log(this.$store.commit('computeStatusData', status));</code> it just logs <code>undefined</code>. </p>