/*
* a smart poller for jquery.
* (by github)
*
* simple example:
*
* $.smartPoller(function(retry) {
* $.getJSON(url, function(data) {
* if (data) {
* doSomething(data)
* } else {
* retry()
* }
* })
* })
*
* The $.smartPoller function accepts a starting
* interval in ms but defaults to 1000:
*
* $.smartPoller(2000, function(retry) {
*
*/
;(function($) {
$.smartPoller = function(wait, poller) {
if ($.isFunction(wait)) {
poller = wait
wait = 1000
}
(function startPoller() {
setTimeout(function() {
poller.call(this, startPoller)
}, wait)
wait = wait * 1.5
})()
}
})(jQuery);
view raw gistfile1.js hosted with ❤ by GitHub