zhangjian
2023-06-05 0976d2d0f90cff460cedfdc8bd74e98c2c31a58c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import env from '../core/env';
 
type RequestAnimationFrameType = typeof window.requestAnimationFrame
 
let requestAnimationFrame: RequestAnimationFrameType;
 
requestAnimationFrame = (
    env.hasGlobalWindow
        && (
            (window.requestAnimationFrame && window.requestAnimationFrame.bind(window))
            // https://github.com/ecomfe/zrender/issues/189#issuecomment-224919809
            || ((window as any).msRequestAnimationFrame && (window as any).msRequestAnimationFrame.bind(window))
            || (window as any).mozRequestAnimationFrame
            // @ts-ignore
            || window.webkitRequestAnimationFrame
        )
) || function (func: Parameters<RequestAnimationFrameType>[0]): number {
    return setTimeout(func, 16) as any;
};
 
export default requestAnimationFrame;