const getData = function (){
let res = null;
return function (callback){
if(!res){
res = new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve([1,2,3,4]);
},2000);
});
}
res.then((res)=>{
callback && callback(res);
return res;
});
};
}()
function log1(res){
console.log('log1-',res);
}
function log2(res){
console.log('log2-',res);
}
getData(log1);
setTimeout(()=>{
getData(log2);
},3000);