Files
login/node_modules/asyncc/lib/doUntil.js
2020-10-12 14:50:25 +05:30

29 lines
541 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = doUntil;
var _setImmediate2 = require("./_setImmediate");
function doUntil(task, test, callback) {
var i = 0;
function cb(err, res) {
if (err || test(i)) {
callback && callback(err, res);
} else {
(0, _setImmediate2._setImmediate)(function () {
// prevent RangeError: Maximum call stack size exceeded for sync tasks
run();
});
}
}
function run() {
task(cb, i++);
}
run();
}