feige
2023-05-04 f5a0b1f7fc7e7f8dce11c71d26a6fca92b29a0d7
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;