UNPKG

db-to-cloud

Version:

Synchronize your database with a cloud drive i.e. Dropbox, Google Drive, OneDrive, Github, etc.

37 lines (32 loc) 661 B
function debounced(fn) { let timer = 0; let q; return () => { if (timer) { clearTimeout(timer); } timer = setTimeout(run); if (!q) { q = defer(); } return q.promise; }; function run() { Promise.resolve(fn()) .then(q.resolve, q.reject); timer = 0; q = null; } function defer() { const o = {}; o.promise = new Promise((resolve, reject) => { o.resolve = resolve; o.reject = reject; }); return o; } } function delay(time) { return new Promise(resolve => setTimeout(resolve, time)); } module.exports = {debounced, delay};