<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app"></div>
Vue.config.productionTip = false;

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

new Vue({
  template: '<p>awaiting async loading: <button v-if="inited">only shown after inited</button></p>',
  data: function () {
    return {
      inited: false
    };
  },

  async created() {
    await sleep(1000)
    this.inited = true
  },

}).$mount("#app");
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.