axios 봉인 비동기 인터페이스 async await

1140 단어 vue
새 api.js 
import axios from "axios"; 
import qs from 'Qs'
let getStyleApi = {
  async getCategory(baseUrl) {
    try{
       let res = await axios.get(baseUrl+`/v1/cloud/category`)
       return new Promise((resolve,reject)=>{
         if(res.status === 200) {
           resolve(res.data)
         } else {
           reject(res)
         }
       })
    } catch(err){
      console.log(err)
    }
  },
  async getList(baseUrl, param) {
    try{
       let res = await axios.post(baseUrl+`/v1/cloud/list`, qs.stringify(param))
       return new Promise((resolve,reject)=>{
         if(res.status === 200) {
           resolve(res.data)
         } else {
           reject(res)
         }
       })
    } catch(err){
      console.log(err)
    }
  }
}
export default getStyleApi

사용:
import getStyleApi from "../../data/getStyleApi.js";
   async getStyleCategory(){
      //     
      const {data} = await getStyleApi.getCategory(this.cloudUrl)
      this.cloudCategory = data.childMenu
      await this.getStyleList(this.cloudCategory[0].id)
    },

좋은 웹페이지 즐겨찾기