Functional try-catch
wrapper for promises
.
npm i try-to-catch
Wrap function to avoid try-catch
block, resolves [error, result]
;
Simplest example with async-await
:
const tryToCatch = require('try-to-catch');
const reject = Promise.reject.bind(Promise);
await tryToCatch(reject, 'hi');
// returns
// [ Error: hi]
Can be used with functions:
const tryToCatch = require('try-to-catch');
await tryToCatch(() => 5);
// returns
[null, 5];
Advanced example:
const {readFile, readdir} = require('fs/promises');
const tryToCatch = require('try-to-catch');
read(process.argv[2])
.then(console.log)
.catch(console.error);
async function read(path) {
const [error, data] = await tryToCatch(readFile, path, 'utf8');
if (!error)
return data;
if (error.code !== 'EISDIR')
return error;
return await readdir(path);
}
- try-catch - functional try-catch wrapper.
MIT