|
@@ -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)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|