UNPKG

@gdjiami/jslib

Version:

Jiami FrontEnd helpers and Services

70 lines (66 loc) 1.2 kB
/** * 函数相关工具函数 */ /** * 空函数,一般用于占位 */ export var noop = function noop() {}; /** * 空函数,一般用于占位. 可以提供一个警告信息 */ export var noopWithWarn = function noopWithWarn(message) { return function () { console.warn(message); }; }; /** * 销毁器队列,存储多个销毁器,在组件卸载时调用 clear 方法 * * @example * * ```js * useEffect(() => { * const d = disposer() * d.add(() => { * ... * return () => { * // 销毁 * ... * } * }) * return d.clear * }) * * ``` */ export function disposer() { var list = []; return { add: function add(i) { return list.push(i); }, clear: function clear() { 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); }; }