封裝的思路本身意義大於對axios本身的意義。
request.js
import axios from 'axios'
export function request(config){
return new Promise(resolve,reject) => {
//1.創建axios的示例
const instance = axios.create({
baseUrl:"http://127.0.0.1:8000",
timeout:5000
})
//2.發送真正的網絡請求
instance(config).then(res =>{
resolve(res)
}).catch(err = >{
reject(err)
})
//針對於axios來說,instance本身就是個promise,可以直接return instance(config)
}
}
main.js
request({
url:"/home/multidata"
}).then(res = >{
console.log(res)
}).catch(err = >{
console.log(err)
})
採用傳入回調函數的方式進行封裝
export function request(config,success,failure){
//1.創建axios的示例
const instance = axios.create({
baseUrl:"http://127.0.0.1:8000",
timeout:5000
})
//2.發送真正的網絡請求
instance(config.baseConfig)
.then(res =>{
success(res)
})
.catch(err = >{
failure(err)
})
}
request({
baseConfig:{
url:"/home/multidata"
},
success: function(res){
console.log(res)
},
failure:function(err){
console.log(err)
}
})