24 lines
		
	
	
		
			509 B
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			509 B
		
	
	
	
		
			JavaScript
		
	
	
| import getRequestAnimationFrame, {
 | |
|   cancelRequestAnimationFrame as caf,
 | |
| } from './getRequestAnimationFrame';
 | |
| const raf = getRequestAnimationFrame();
 | |
| 
 | |
| export const cancelAnimationTimeout = frame => caf(frame.id);
 | |
| 
 | |
| export const requestAnimationTimeout = (callback, delay) => {
 | |
|   const start = Date.now();
 | |
|   function timeout() {
 | |
|     if (Date.now() - start >= delay) {
 | |
|       callback.call();
 | |
|     } else {
 | |
|       frame.id = raf(timeout);
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   const frame = {
 | |
|     id: raf(timeout),
 | |
|   };
 | |
| 
 | |
|   return frame;
 | |
| };
 |