UNPKG

@gdjiami/jslib

Version:

Jiami FrontEnd helpers and Services

70 lines (69 loc) 1.44 kB
/** * 函数相关工具函数 */ /** * 空函数,一般用于占位 */ export var noop = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } }; /** * 空函数,一般用于占位. 可以提供一个警告信息 */ export var noopWithWarn = function (message) { return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } console.warn(message); }; }; /** * 销毁器队列,存储多个销毁器,在组件卸载时调用 clear 方法 * * @example * * ```js * useEffect(() => { * const d = disposer() * d.add(() => { * ... * return () => { * // 销毁 * ... * } * }) * return d.clear * }) * * ``` */ export function disposer() { var list = []; return { add: function (i) { return list.push(i); }, clear: function () { list.forEach(function (i) { return i(); }); list = []; }, }; } /** * 返回disposer的 setTimeout * * @param callback 延时操作方法 * @param time 延时时长 * * @example * ```js * timeout(() => { ... }, 1000) * ``` */ export function timeout(callback, time) { var timer = setTimeout(callback, time); return function () { clearTimeout(timer); }; }