promise使用
- promise是什么
主要用于异步计算
可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果
可以在对象之间传递和操作promise,帮助我们处理队列 - promise有三个状态:
pending[待定]初始状态
fulfilled[实现]操作成功
rejected[被否决]操作失败 - Promise对象的状态改变,只有两种可能:
从pending变为fulfilled
从pending变为rejected。 - promise的then和catch两种方法,then为成功,catch为失败
const server = axios.create({
baseURL: "http://120.53.31.103:84",
timeout: 10000
})
server.interceptors.request.use(config => {
if (localStorage.getItem('token')) {
config.headers = {
Authorization:`Bearer ${localStorage.getItem('token')}`
}
}
return config
}, err => {
console.log(err);
})
server.interceptors.response.use(res => {
if (res.data == '无效token') {
alert('token无效,请重新登录')
} else {
return res
}
}, err => {
switch (err.code) {
case 500: console.log('服务器错误'); break;
case 404: console.log('页面找不到了'); break;
default:
return Promise.reject(err)
break;
}
})
async的使用
- async 函数就是generter的语法糖,包装在一个函数里。async必须和await搭配使用,
var f1= async function (){
var f2 = await readFile(123');
};