function ajax (name) {
return new Promise((resolve, reject) =>{
setTimeout(() => {
resolve({name: name, age: '27'})
}, 2000)
})
}
function query (name) {
const cache = query.cache || (query.cache = new Map())
if (cache.has(name)) {
console.log('走缓存了')
return Promise.resolve(cache.get(name))
}
return ajax(name).then((res) => {
cache.set(name, res)
console.log(cache)
return res
})
}
query ('wayke').then((res) => {
console.log(res)
})
setTimeout (() => {
query ('wayke').then((res) => {
console.log(res, '五秒后又请求数据')
})
}, 5000)
Promise.resolve 缓存http请求
最新推荐文章于 2023-06-27 09:02:40 发布