timed-silky
Version:
Timed-Silky 是基于一款基于 TypeScript 的定时任务调度器。得益于 TypeScript,Timed-Silky 可以用符合特定句式的自然语言描述任务的调度规则,提供丝滑的链式调用接口。
25 lines (24 loc) • 697 B
JavaScript
import { parseFrom, RuleBuilder, } from "./rule-builder";
import { createTask } from "./task";
class SilkyTimer {
constructor() {
this.taskTable = [];
}
run(callback, ...args) {
let builder = new RuleBuilder();
this.taskTable.push({
callback: callback,
args: args,
rule: builder,
});
return builder;
}
start() {
this.taskTable.forEach((taskItem) => {
let ruleChain = parseFrom(taskItem.rule.timeRuleWords);
createTask(taskItem.callback, ruleChain, ...taskItem.args);
});
}
}
let silkyTimer = new SilkyTimer();
export { silkyTimer };