title: async function - data functions should return an object?
body: <p>Why we can't use async with the data function but it is ok with other functions? For example:</p>
  
  <pre><code>export default {
    data: async function () { // not ok
      return {
        item: null,
      }
    },
    beforeMount: async function() { // this is ok
      let result = await axios.get('./data-social.json')
      this.item = result.data
    },
    mounted() {
    },
  }
  </code></pre>
  
  <p>I will get this error:</p>
  
  <pre><code>[Vue warn]: data functions should return an object:
  </code></pre>
  
  <p>Any ideas?</p>