importraffrom'raf';varid=0;varids={};// Support call raf with delay specified frameexportdefaultfunctionwrapperRaf(callback){vardelayFrames=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;varmyId=id++;varrestFrames=delayFrames;functioninternalCallback(){restFrames-=1;if(restFrames<=0){callback();deleteids[id];}else{ids[id]=raf(internalCallback);}}ids[id]=raf(internalCallback);returnmyId;}wrapperRaf.cancel=function(id){raf.cancel(ids[id]);deleteids[id];};