UNPKG

passport-cookie-session

Version:

Encrypted, cookie-based session middleware compatible with PassportJS

19 lines (17 loc) 538 B
async function withTimeout(mode, asyncFunc, args = [], timeout) { return new Promise((resolve, reject) => { const timer = setTimeout(() => { reject(new Error(`${mode} function timed out. Ensure you call the callback or return properly within ${timeout}ms.`)); }, timeout); asyncFunc(...args) .then(result => { clearTimeout(timer); resolve(result); }) .catch(err => { clearTimeout(timer); reject(err); }); }); } module.exports = withTimeout;