Awesome
Try to Catch
![Coverage Status](https://coveralls.io/repos/coderaiser/try-to-catch/badge.svg?branch=master&service=github)
Functional try-catch
wrapper for promises
.
Install
npm i try-to-catch
API
tryToCatch(fn, [...args])
Wrap function to avoid try-catch
block, resolves [error, result]
;
Example
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);
}
Related
- try-catch - functional try-catch wrapper.
License
MIT