base.model.js 737 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. "use strict";
  2. let EventEmitter = require('events').EventEmitter;
  3. /**
  4. * @module model
  5. */
  6. /**
  7. * 模型基类。模型基于异步模型,提供事件抽象。
  8. *
  9. * @class BaseModel
  10. * @constructor
  11. *
  12. * @author: Sand
  13. * @since: 2016.11.20
  14. */
  15. class BaseModel{
  16. constructor() {
  17. this._eventEmitter = new EventEmitter();
  18. }
  19. /**
  20. * 模型的事件触发器
  21. *
  22. * @property {EventEmitter} eventEmitter
  23. */
  24. get eventEmitter(){
  25. return this._eventEmitter;
  26. }
  27. /**
  28. * 绑定事件处理器。
  29. *
  30. * @method on
  31. *
  32. * @param event
  33. * @param handler
  34. */
  35. on(event, handler){
  36. this._eventEmitter.on(event, handler);
  37. }
  38. }
  39. module.exports = BaseModel;