[ウェブ遠位]ライブラリパッケージシンプルaxios

より転載https://blog.csdn.net/qq_35844177/article/details/78809499

 

1.新しいファイルを作成しますhttp.js、axios GET、POSTカプセル化方式

'axios'からインポートaxios 
から輸入適量 '適量' 
輸入 'ES6-約束' 
 
axios.defaults.baseURL = '/ API' ; 
 
輸出関数のget(URL、のparams){
   返す 新しい約束((解決、拒否)=> { 
    axios.get(URL、{ 
      のparams:のparams 
    。})、その後(RES => { 
      決意(res.data)
    。})キャッチ(ERR => { 
      (ERR)リジェクト
    })
  })
} 
 
エクスポート関数ポスト(URL、データ){
   戻り 、新たな約束を((解決、リジェクト)=>{ 
    axios.post(URL、qs.stringify(データ)、{ 
        ヘッダー:{
           'のContent-Type': 'アプリケーション/ x-www-form-urlencodedで' 
        } 
      } 
    ).then(RES => { 
      解決(RES。データ)
    })。キャッチ(ERR => { 
      リジェクト(ERR)
    })
  })
}

 

インタフェース2. api.jsファイルを作成し、パッケージの呼び出し

'./http'からインポート{GET、POST} 
 
エクスポート関数getNewPublish(){ 
  CONST結果 =取得( '/広告/ newestPublishAdMaterialInfo1' )。
  戻り値の結果; 
}

 

アセンブリ3.

'../../api/api'からインポート{getNewPublish} 
 
結果せ = getNewPublish()。
 
result.then(RES => { 
   にconsole.log(RES); 
})。キャッチ(ERR => { 
   にconsole.log(ERR); 
})

4.カプセル化されたインターセプタを追加します。

'axios'からインポートaxios 
からインポート適量 'QS' 
からインポート{トースト} 'antdモバイル' 
 
axios.defaults.baseURL = '/ API' ; 
 
// 拦截请求 
axios.interceptors.request.use(関数(設定){ 
  Toast.loading( '加载中'、0 );
   戻り値の設定
})。
 
// 拦截相应 
axios.interceptors.response.use(関数(設定){ 
  Toast.hide(); 
  戻り値の設定
})。
 
輸出デフォルトクラスのHttp { 
  静的メソッドget(URL、のparams){ 
    返す 新しい((解決、拒否)=>プロミス{ 
      axios.get(URL、{ 
        paramsは:paramsは
      })。次に、(RES => { 
        解決(res.data)
      })。キャッチ(ERR => { 
        リジェクト(ERR)
      })
    })
  } 
 
  静的ポスト(URL、paramsは){ 
    戻り 新しい =>プロミス((解決、リジェクト){ 
      axios.post(URL、qs.stringify(paramsは)、{ 
          ヘッダー:{
             'のContent-Type': 'アプリケーション/ x-www-form-urlencodedで' 
          } 
        } 
      ).then(RES => { 
        解決(res.data)
      })。キャッチ(ERR => { 
        リジェクト(ERR)
      })
    })
  } 
}

 

おすすめ

転載: www.cnblogs.com/0616--ataozhijia/p/11351495.html