import Vue from 'vue'
|
|
/**
|
* 将一个请求分组
|
*
|
* @param getPromise 传入一个可以获取到Promise对象的方法
|
* @param groupId 分组ID,如果不传或者为空则不分组
|
* @param expire 过期时间,默认 半分钟
|
*/
|
export function httpGroupRequest(getPromise, groupId, expire = 1000 * 30) {
|
if (groupId == null || groupId === '') {
|
console.log("--------popup----------getFrom DB-------with---no--groupId ")
|
return getPromise()
|
}
|
|
if (Vue.ls.get(groupId)) {
|
console.log("---------popup--------getFrom Cache--------groupId = " + groupId)
|
return Promise.resolve(Vue.ls.get(groupId));
|
} else {
|
console.log("--------popup----------getFrom DB---------groupId = " + groupId)
|
}
|
|
// 还没有发出请求,就发出第一次的请求
|
return getPromise().then(res => {
|
Vue.ls.set(groupId, res, expire);
|
return Promise.resolve(res);
|
})
|
}
|