Browse Source

任务的基本工作方式

龚成明 2 years ago
parent
commit
d3180be734
1 changed files with 25 additions and 0 deletions
  1. 25 0
      scripts/task.js

+ 25 - 0
scripts/task.js

@@ -0,0 +1,25 @@
+const logger = require('../kit/logger-kit')
+const TimeKit = require('../kit/time-kit')
+
+module.exports = class Task {
+  constructor(delayTime, initFun, onTickFun) {
+    this.delayTime = delayTime
+
+    this.init = initFun
+    this.onTick = onTickFun
+  }
+
+  async Start() {
+    await this.init()
+
+    while (true) {
+      try {
+        await this.onTick()
+
+        await TimeKit.sleep(this.delayTime)
+      } catch (e) {
+        logger.log(e)
+      }
+    }
+  }
+}