SOURCE

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);
console 命令行工具 X clear

                    
>
console