Debounce.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. (function() {
  2. var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
  3. var __module = nodeEnv ? module : {exports:{}};
  4. var __filename = 'preview-scripts/assets/script/frameWork/fgui/Debounce.js';
  5. var __require = nodeEnv ? function (request) {
  6. return cc.require(request);
  7. } : function (request) {
  8. return __quick_compile_project__.require(request, __filename);
  9. };
  10. function __define (exports, require, module) {
  11. if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
  12. cc._RF.push(module, 'bd5cfmirRdI/4mhykL6HEd+', 'Debounce');
  13. // script/frameWork/fgui/Debounce.ts
  14. "use strict";
  15. Object.defineProperty(exports, "__esModule", { value: true });
  16. /**
  17. * 防抖
  18. * @param wait 等待时间 单位秒
  19. */
  20. function Debounce(wait) {
  21. return function (target, keyname, descriptor) {
  22. var method = descriptor.value;
  23. var timer = null;
  24. descriptor.value = function () {
  25. var _this = this;
  26. var args = [];
  27. for (var _i = 0; _i < arguments.length; _i++) {
  28. args[_i] = arguments[_i];
  29. }
  30. if (timer) {
  31. clearInterval(timer);
  32. timer = null;
  33. }
  34. timer = setTimeout(function () {
  35. clearInterval(timer);
  36. timer = null;
  37. method.apply(_this, args);
  38. }, wait * 1000);
  39. };
  40. };
  41. }
  42. exports.default = Debounce;
  43. cc._RF.pop();
  44. }
  45. if (nodeEnv) {
  46. __define(__module.exports, __require, __module);
  47. }
  48. else {
  49. __quick_compile_project__.registerModuleFunc(__filename, function () {
  50. __define(__module.exports, __require, __module);
  51. });
  52. }
  53. })();
  54. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZnJhbWVXb3JrL2ZndWkvRGVib3VuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7O0dBR0c7QUFDSCxTQUF3QixRQUFRLENBQUMsSUFBWTtJQUM1QyxPQUFPLFVBQVUsTUFBVyxFQUFFLE9BQWUsRUFBRSxVQUE4QjtRQUM1RSxJQUFNLE1BQU0sR0FBYSxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQzFDLElBQUksS0FBSyxHQUFXLElBQUksQ0FBQztRQUN6QixVQUFVLENBQUMsS0FBSyxHQUFHO1lBQUEsaUJBVWxCO1lBVjRCLGNBQWM7aUJBQWQsVUFBYyxFQUFkLHFCQUFjLEVBQWQsSUFBYztnQkFBZCx5QkFBYzs7WUFDMUMsSUFBSSxLQUFLLEVBQUU7Z0JBQ1YsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixLQUFLLEdBQUcsSUFBSSxDQUFDO2FBQ2I7WUFDRCxLQUFLLEdBQUcsVUFBVSxDQUFDO2dCQUNsQixhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSCxDQUFDO0FBaEJELDJCQWdCQyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog6Ziy5oqWXG4gKiBAcGFyYW0gd2FpdCDnrYnlvoXml7bpl7Qg5Y2V5L2N56eSXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERlYm91bmNlKHdhaXQ6IG51bWJlcikge1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBrZXluYW1lOiBzdHJpbmcsIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcikge1xuXHRcdGNvbnN0IG1ldGhvZDogRnVuY3Rpb24gPSBkZXNjcmlwdG9yLnZhbHVlO1xuXHRcdGxldCB0aW1lcjogbnVtYmVyID0gbnVsbDtcblx0XHRkZXNjcmlwdG9yLnZhbHVlID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG5cdFx0XHRpZiAodGltZXIpIHtcblx0XHRcdFx0Y2xlYXJJbnRlcnZhbCh0aW1lcik7XG5cdFx0XHRcdHRpbWVyID0gbnVsbDtcblx0XHRcdH1cblx0XHRcdHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdGNsZWFySW50ZXJ2YWwodGltZXIpO1xuXHRcdFx0XHR0aW1lciA9IG51bGw7XG5cdFx0XHRcdG1ldGhvZC5hcHBseSh0aGlzLCBhcmdzKTtcblx0XHRcdH0sIHdhaXQgKiAxMDAwKTtcblx0XHR9O1xuXHR9O1xufVxuIl19