1. 利用promise API来实现一个缓存机制
2. 其实resolve()这个api就像一个语法糖, 可以改变状态
promise.resolve === functiion (value) {
new promsie(resolve => {
resolve(value);
})
}
3.接着我们看一个缓存的思想
// 封装一个请求函数
function query(url) {
let cache = query.cache || (query.cache = new Map()) // 给函数query, 定义一个缓存, 为了方便设置为map类型, 这里函数也是对象, 随意可以直接给query加一个属性
if (cache.has(name)) {
return Promise.resolve(cache.get(name)) // 利用resolve直接改变promise的状态
console.log('走缓存了')
}
return axios(url).then(res => {
cache.set('name', res)
console.log('没走缓存')
return res
})
}