Posterous theme by Cory Watilo

My "waitUntil" method

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

Function.prototype.waitUntil = function (condition, interval) {
    interval = interval || 100;

    var fn = this,
        shell = function () {
            var timer = setInterval(
                function () {
                    var check;

                    try {
                        check = !!(condition());
                    } catch (e) {
                        check = false;
                    }

                    if (check) {
                        clearInterval(timer);
                        delete timer;
                        fn();
                    }
                },
                interval
            );
        };

    return shell;
};

var done = false;

(function () {
    document.getElementById('result').innerHTML = 'I waited...';
}).waitUntil(function () { return !!(done); })();

setTimeout(function () { done = true; }, 2000);