async是否会阻塞钩子函数运行?

答案:不会

测试代码

<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  async beforeCreate () {
    console.log('before create 1')
    await new Promise(resolve => {
      setTimeout(() => {
        console.log('before create 2')
        resolve()
      })
    })
    console.log('before create 3')
  },
  async created () {
    console.log('created 1')
    await new Promise(resolve => {
      setTimeout(() => {
        console.log('created 2')
        resolve()
      })
    })
    console.log('created 3')
  },
  async beforeMount () {
    console.log('before mount 1')
    await new Promise(resolve => {
      setTimeout(() => {
          console.log('before mount 2')
          resolve()
      })
    })
    console.log('before mount 3')
  },
  async mounted () {
    console.log('mounted 1')
    await new Promise(resolve => {
      setTimeout(() => {
        console.log('mounted 2')
        resolve()
      })
    })
    console.log('mounted 3')
  }
}
</script>

输出结果

测试结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容