より転載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) }) }) } }