08-Nuxt.js基本使用-获取数据-async&await

3.6.2 async /await方法

在这里插入图片描述

使用async 和 await配合promise也可以实现同步调用,nuxt.js中使用async/await实现同步调用效果。
1、先测试异步调用,增加a、b两个方法,并在mounted中调用。

<template>
  <div>
    修改用户信息{{id}},名称:{{name}}

  </div>
</template>
<script>
  export default{
    layout:"test",
    asyncData() {
      console.log("async方法")
      return {
        name: '黑马程序员'
      }
    },
    data(){
      return {
        id:''
      }
    },
    methods:{
      a(){
        return new Promise(function(resolve,reject){
          setTimeout(function () {
            resolve(1)
          },2000)
        })
      },
      b(){
        return new Promise(function(resolve,reject){
          setTimeout(function () {
            resolve(2)
          },1000)
        })
      }
    },

    mounted(){
      this.id = this.$route.params.id;
      this.a().then(res=>{
        console.log(res)
      })
      this.b().then(res=>{
        console.log(res)
      })

    }
  }
</script>
<style>
</style>

在这里插入图片描述

观察客户端,并没有按照方法执行的顺序输出,使用Promise实现了异步调用。
在这里插入图片描述

2、使用async/await完成同步调用

<template>
  <div>
    修改用户信息{{id}},名称:{{name}}

  </div>
</template>
<script>
  export default{
    layout:"test",
    async asyncData({ store, route }) {
      console.log("async方法")
      var a = await new Promise(function (resolve, reject) {
        setTimeout(function () {
          console.log("1")
          resolve(1)
        },2000)
      });
      var a = await new Promise(function (resolve, reject) {
        setTimeout(function () {
          console.log("2")
          resolve(2)
        },1000)
      });
      return {
        name:'黑马程序员'
      }
    },
    data(){
      return {
        id:''
      }
    },


    mounted(){
      this.id = this.$route.params.id;


    }
  }
</script>
<style>
</style>

在这里插入图片描述

观察服务端控制台发现是按照a、b方法的调用顺序输出1、2,实现了使用async/await完成同步调用。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值