JavaScript用setTimeout超时调用实现setInterval间歇调用
由于要在Canvas上做动画,又不想跳帧,就用超时调用实现实现了间歇调用。
代码如下:
//fn为间歇调用的函数,delay为时间间隔(毫秒) util.interval = function(fn, delay){ var self = arguments.callee; setTimeout(function(){ var isEnd = fn(); if(isEnd === true){ return; //如果函数fn返回ture,则终止间歇调用 } self(fn, delay); }, delay); };
调用的时候传入一个匿名函数即可
interval(function(){ //This is the actual actions you want to do; myAction(); // }, 1000);