1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/dashboard/client/utils/debouncePromise.ts
Sebastian Malton b1ff34879a cleanup Lens repo with tighter linting
Signed-off-by: Sebastian Malton <smalton@mirantis.com>
2020-07-09 17:00:23 -04:00

10 lines
375 B
TypeScript
Executable File

// Debouncing promise evaluation
export const debouncePromise = function (promisedFunc: Function, timeout = 0): (...params: any[]) => Promise<any> {
let timer: number;
return (...params: any[]): Promise<any> => new Promise((resolve, _reject) => {
clearTimeout(timer);
timer = window.setTimeout(() => resolve(promisedFunc.apply(this, params)), timeout);
});
};