Vue全家桶

Vue接口调用方式(三)async/await用法

2022-04-05  本文已影响0人  生命里那束光

async/await用法

1. async/await的基本用法

async function queryData(id) {
    const ret = await axios.get('/data');
    return ret;
}
queryData.then(ret=>{
    console.log(ret)
})

示例:

// 配置请求的基准URL地址
axios.defaults.baseURL = 'http:localhost:3000';
    //axios请求接口
    axios.get('adata').then(function(ret){
      console.log(ret.data)
    })
    //async请求接口  await后面是Promise实例对象
    async function queryData() {
      var ret = await axios.get('adata');
      // console.log(ret.data)
      return ret.data;
    }
    queryData().then(function (data) {
      console.log(data)
    })
//服务器端的接口
app.get('/adata', (req, res) => {
  res.send('Hello axios!')
})

2. async/await处理多个异步请求

示例:

// 配置请求的基准URL地址
axios.defaults.baseURL = 'http://localhost:3000';
    //async请求接口
    async function queryData() {
      var info = await axios.get('async1');
      //axios传递给服务器/async2接口的info.data参数,用于接口内部判断
      //传参格式:[ '地址?属性名=属性值' ]or [ ' 地址?对象= ' + '对象.属性名']
      var ret = await axios.get('async2?info=' + info.data);
      return ret.data;
    }
    queryData().then(function(data){
      console.log(data)
    })
    
//服务器端的接口 
app.get('/async1', (req, res) => {
  res.send('hello')
})
app.get('/async2', (req, res) => {
  if (req.query.info == 'hello') {
    res.send('async1的结果确实是hello')
  } else {
    res.send('error')
  }
})
上一篇下一篇

猜你喜欢

热点阅读