UNPKG

bull

Version:
40 lines (35 loc) 871 B
'use strict'; const errorObject = { value: null }; function tryCatch(fn, ctx, args) { try { return fn.apply(ctx, args); } catch (e) { errorObject.value = e; return errorObject; } } /** * Waits for a redis client to be ready. * @param {Redis} redis client */ function isRedisReady(client) { return new Promise((resolve, reject) => { if (client.status === 'ready') { resolve(); } else { function handleReady() { client.removeListener('error', handleError); resolve(); } function handleError(err) { client.removeListener('ready', handleReady); reject(err); } client.once('ready', handleReady); client.once('error', handleError); } }); } module.exports.errorObject = errorObject; module.exports.tryCatch = tryCatch; module.exports.isRedisReady = isRedisReady;