remove need for time worker
This commit is contained in:
parent
17f35dbaaa
commit
f27db7c66e
|
@ -1,66 +0,0 @@
|
|||
var _TimerInfos = [];
|
||||
|
||||
var TimerElasped = function (Id)
|
||||
{
|
||||
var TimerInfo = _TimerInfos[Id];
|
||||
|
||||
if (!TimerInfo)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this.postMessage({
|
||||
Action: "ELASPED",
|
||||
Id: TimerInfo.Id,
|
||||
RunOnce: TimerInfo.RunOnce,
|
||||
});
|
||||
};
|
||||
|
||||
this.onmessage = function (e)
|
||||
{
|
||||
var Message = e.data;
|
||||
|
||||
switch (Message.Action)
|
||||
{
|
||||
case "START":
|
||||
var TimerInfo = {
|
||||
Id: Message.Id,
|
||||
RunOnce: Message.RunOnce,
|
||||
TimeOut: Message.TimeOut,
|
||||
};
|
||||
|
||||
_TimerInfos[Message.Id] = TimerInfo;
|
||||
|
||||
if (Message.RunOnce == true)
|
||||
{
|
||||
TimerInfo.TimerId = setTimeout(TimerElasped, Message.TimeOut, Message.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
TimerInfo.TimerId = setInterval(TimerElasped, Message.TimeOut, Message.Id);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case "STOP":
|
||||
var TimerInfo = _TimerInfos[Message.Id];
|
||||
|
||||
if (!TimerInfo)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (TimerInfo.RunOnce == true)
|
||||
{
|
||||
clearTimeout(TimerInfo.TimerId);
|
||||
delete _TimerInfos[Message.Id];
|
||||
}
|
||||
else
|
||||
{
|
||||
clearInterval(TimerInfo.TimerId);
|
||||
delete _TimerInfos[Message.Id];
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
|
@ -1,94 +0,0 @@
|
|||
if (window.Worker)
|
||||
{
|
||||
var _TimerWorkCallBacks = [];
|
||||
var _TimerIds = 0;
|
||||
|
||||
var _TimerWorker = new window.Worker("scripts/TimerWorker.js");
|
||||
_TimerWorker.onmessage = function (e)
|
||||
{
|
||||
var Message = e.data;
|
||||
|
||||
switch (Message.Action)
|
||||
{
|
||||
case "ELASPED":
|
||||
var TimerWorkCallBack = _TimerWorkCallBacks[Message.Id];
|
||||
|
||||
if (!TimerWorkCallBack)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var Window = TimerWorkCallBack.Window;
|
||||
var CallBack = TimerWorkCallBack.CallBack;
|
||||
var Arguments = TimerWorkCallBack.Arguments;
|
||||
|
||||
if (typeof (CallBack) === 'string')
|
||||
{
|
||||
CallBack = new Function(CallBack);
|
||||
}
|
||||
if (typeof (CallBack) === 'function')
|
||||
{
|
||||
CallBack.apply(Window, Arguments);
|
||||
}
|
||||
|
||||
if (Message.RunOnce == true)
|
||||
{
|
||||
_clearIntervalWorker(Message.Id);
|
||||
}
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
window.setIntervalWorker = function (CallBack, TimeOut, Arguments)
|
||||
{
|
||||
Arguments = Array.prototype.slice.call(arguments).slice(2);
|
||||
return _setIntervalWorker(false, CallBack, TimeOut, Arguments, window);
|
||||
};
|
||||
window.setTimeoutWorker = function (CallBack, TimeOut, Arguments)
|
||||
{
|
||||
Arguments = Array.prototype.slice.call(arguments).slice(2);
|
||||
return _setIntervalWorker(true, CallBack, TimeOut, Arguments, window);
|
||||
};
|
||||
var _setIntervalWorker = function (RunOnce, CallBack, TimeOut, Arguments, Window)
|
||||
{
|
||||
var Id = ++_TimerIds;
|
||||
|
||||
_TimerWorkCallBacks[Id] = {
|
||||
CallBack: CallBack,
|
||||
Arguments: Arguments,
|
||||
Window: Window,
|
||||
};
|
||||
|
||||
_TimerWorker.postMessage({
|
||||
Action: "START",
|
||||
RunOnce: RunOnce,
|
||||
Id: Id,
|
||||
TimeOut: TimeOut,
|
||||
});
|
||||
|
||||
return Id;
|
||||
};
|
||||
|
||||
window.clearIntervalWorker = function (Id)
|
||||
{
|
||||
_clearIntervalWorker(Id);
|
||||
};
|
||||
window.clearTimeoutWorker = function (Id)
|
||||
{
|
||||
_clearIntervalWorker(Id);
|
||||
};
|
||||
var _clearIntervalWorker = function (Id)
|
||||
{
|
||||
if (!Id)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_TimerWorker.postMessage({
|
||||
Action: "STOP",
|
||||
Id: Id,
|
||||
});
|
||||
|
||||
delete _TimerWorkCallBacks[Id];
|
||||
};
|
||||
}
|
|
@ -30,7 +30,6 @@
|
|||
<script type="text/javascript" src="scripts/vendor/jquery.autocomplete.min.js"></script>
|
||||
<script type="text/javascript" src="scripts/vendor/nosleep.min.js"></script>
|
||||
<script type="text/javascript" src="scripts/vendor/jquery.touchSwipe.min.js"></script>
|
||||
<script type="text/javascript" src="scripts/timer.js"></script>
|
||||
<script type="text/javascript" src="scripts/index.js"></script>
|
||||
<script type="text/javascript" src="scripts/data/states.js"></script>
|
||||
<% } else { %>
|
||||
|
@ -39,7 +38,6 @@
|
|||
<script type="text/javascript" src="scripts/vendor/jquery.autocomplete.min.js"></script>
|
||||
<script type="text/javascript" src="scripts/vendor/nosleep.min.js"></script>
|
||||
<script type="text/javascript" src="scripts/vendor/jquery.touchSwipe.min.js"></script>
|
||||
<script type="text/javascript" src="scripts/timer.js"></script>
|
||||
<script type="text/javascript" src="scripts/index.js"></script>
|
||||
<script type="text/javascript" src="scripts/data/states.js"></script>
|
||||
<% } %>
|
||||
|
|
Loading…
Reference in a new issue