[绍棠] nuxt asyncData 里面实现多请求

asyncData方法会在组件(限于页面组件)每次加载之前被调用。它可以在服务端或路由更新之前被调用。在这个方法被调用的时候,你可以利用 asyncData方法来获取数据并返回给当前组件。

注意:由于asyncData方法是在组件 初始化 前被调用的,所以在方法内是没有办法通过 this 来引用组件的实例对象。

1、多个异步请求

async asyncData(ctx) {
      let site = await ctx.app.$axios.get('/testApi' + '/query/site', {
        params: {}
      });
      var siteid = site.data.data.id;
      let listCategory = await ctx.app.$axios.get('/testApi' + '/query/listCategory',{
        params: {
          siteId: siteid
        }
      });
      return {
        dataSource: listCategory 
      }
   },

2.同步多个请求

async asyncData(ctx) {

      let [listA, listB] = await Promise.all([
        ctx.app.$axios.post('/testApi' + '/query/listChild', {
          current: 1,
          size: 5
        }),
        ctx.app.$axios.post('/testApi' + '/query/listByCategotyId', {
          current: 1,
          size: 9
        })
      ])
      return {
        listA: listA,
        listB: listB
      }
    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值