mirror of
https://github.com/appium/appium.git
synced 2026-02-11 20:39:04 -06:00
31 lines
697 B
JavaScript
31 lines
697 B
JavaScript
"use strict";
|
|
|
|
var Q = require("q");
|
|
|
|
exports.spinWait = function (spinFn, waitMs, intMs) {
|
|
if (typeof waitMs === "undefined") {
|
|
waitMs = 10000;
|
|
}
|
|
if (typeof intMs === "undefined") {
|
|
intMs = 500;
|
|
}
|
|
var begunAt = Date.now();
|
|
var endAt = begunAt + waitMs;
|
|
var spin = function () {
|
|
return spinFn().catch(function (err) {
|
|
if (Date.now() < endAt) {
|
|
return Q.delay(intMs).then(spin);
|
|
} else {
|
|
throw new Error("spinWait condition unfulfilled. Promise rejected with error:", err);
|
|
}
|
|
});
|
|
};
|
|
return spin();
|
|
};
|
|
|
|
exports.spinTillResEquals = function () {};
|
|
|
|
exports.spinTillNoError = function () {};
|
|
|
|
exports.spinTillError = function () {};
|