task.js 461 B

12345678910111213141516171819202122232425
  1. const logger = require('../kit/logger-kit')
  2. const TimeKit = require('../kit/time-kit')
  3. module.exports = class Task {
  4. constructor(delayTime, initFun, onTickFun) {
  5. this.delayTime = delayTime
  6. this.init = initFun
  7. this.onTick = onTickFun
  8. }
  9. async Start() {
  10. await this.init()
  11. while (true) {
  12. try {
  13. await this.onTick()
  14. await TimeKit.sleep(this.delayTime)
  15. } catch (e) {
  16. logger.log(e)
  17. }
  18. }
  19. }
  20. }