zrender
Version:
A lightweight graphic library providing 2d draw for Apache ECharts
22 lines (17 loc) • 729 B
text/typescript
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;