Ajax原理
var xhr=new XMLHttpRequest();
xhr.open(method,url,true);
xhr.send();
xhr.onreadstatechange=function(){
if(xhr.readyState === 4 &&xhr.Status === 200){
xhr.responsText
}
}
拦截器
import axios from "axios"
console.log(process.env.NODE_ENV);
const service=axios.create({
timeout:5000,
baseURL:process.env.NODE_ENV === 'development' ? '/api' : ''
})
let arr=JSON.parse(localStorage.getItem("item"))
let token=arr[arr.length-1].token
service.interceptors.request.use(
config => {
if (token) {
config.headers["token"] = token
}
return config
},
error => {
console.log(error);
return Promise.reject(error)
}
);
service.interceptors.response.use(function (res) {
return res.data;
},function (error) {
return Promise.reject(error);
});
export default service;
axios同步变异步
function getData(method,url,callback){
var xhr=new XMLHttpRequest();
xhr.open(method,url,true);
xhr.send();
xhr.onreadstatechange=function(){
if(xhr.readyState === 4 &&xhr.Status === 200){
callbcak&&callback( xhr.responsText);
}
}
}
getData('get','http:www.baidu.com/web/123.json',function(data){
})
function A(name,age){
this.name=name;
this.age=age;
};
var a1=new A('tim',12);
A.prototype.myEach=function(callback){
for(var i=0;i<this.length;i++){
callback&&callback(this[i],i)
}
}
var arr=[2,3,4,5]
arr.myEach(function(item,index){
console.log(item)
})
A.prototype.myMap=function(callback){
var brr=[];
for(var i=0;i<this.length;i++){
brr.push( callback&&callback(this[i],i))
}
return brr;
}
arr.map(function(item,index))
var res=arr.map(function(item,index){
return item
})