js异步请求同步化

解释:request是axios的拦截器封装

方式一(vue文件函数里具体代码):

 1 async_method: async function () {
 2    try {
 3      // 异步操作同步化
 4      let response =  await request({url: '/api/cmdb/businesslines', method: 'get'})
 5      // 开始处理业务逻辑
 6      if (response.code == 20000) {
 7        console.log(response.data)
 8      }else {
 9        throw new Error("状态码非200,返回数据异常")
10      }
11    } catch (err) {
12      // 故障处理
13      console.log(err)
14    }
15 }

方式二:

 // js文件里

1 export function api_businesslines() {
2   return new Promise((resolve, reject) => {
3     request({url: '/api/cmdb/businesslines', method: 'get'}).then(response => {
4       resolve(response.data)
5     }).catch(err => {
6       reject("err-sl2")
7     })
8   })
9 }

 vue文件的created里函数调用里

1       created:async function() {
2         let val = await api_businesslines()
3         console.log(val)
4       }

.

原文地址:https://www.cnblogs.com/wangsl1204/p/13224208.html