black-horse-cli
Version:
44 lines (34 loc) • 795 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useIntervalFn = useIntervalFn;
require("core-js/modules/es.error.cause.js");
var _is = require("../is");
var _vue = require("vue");
var _core = require("@vueuse/core");
function useIntervalFn(handle, wait) {
if (!(0, _is.isFunction)(handle)) {
throw new Error('handle is not Function!');
}
var readyRef = (0, _vue.ref)(false);
var timer;
function stop() {
readyRef.value = false;
timer && window.clearInterval(timer);
}
function start() {
stop();
timer = setInterval(function () {
readyRef.value = true;
handle();
}, wait);
}
start();
(0, _core.tryOnUnmounted)(stop);
return {
readyRef: readyRef,
stop: stop,
start: start
};
}