[Javascript][Deferred] ある条件が満たされるまでループする

  • 0
    Like
  • 0
    Comment

    こちら のDeferred版。jQuery.deferredでも、Javascript標準のPromiseでも使える。

    let makeDeferredLoop = (promise, func, args, interval) => {
        (function deferredLoop() {
            promise.then(() => {
                return func(args);
            }).catch(() => {
                setTimeout(deferredLoop, interval, args);
            });
        })();
    };