shawndumas

My "waitUntil" method

Head over to remy sharp’s JS Bin and play.

 1 Function.prototype.waitUntil = function (condition, interval) {
 2     interval = interval || 100;
 3 
 4     var fn = this,
 5         shell = function () {
 6             var timer = setInterval(
 7                 function () {
 8                     var check;
 9 
10                     try {
11                         check = !!(condition());
12                     } catch (e) {
13                         check = false;
14                     }
15 
16                     if (check) {
17                         clearInterval(timer);
18                         delete timer;
19                         fn();
20                     }
21                 },
22                 interval
23             );
24         };
25 
26     return shell;
27 };
28 
29 var done = false;
30 
31 (function () {
32     document.getElementById('result').innerHTML = 'I waited...';
33 }).waitUntil(function () { return !!(done); })();
34 
35 setTimeout(function () { done = true; }, 2000);
0 comments

Leave a comment...

To Posterous, Love Metalab