@particle/await-on

really simple error handling with await/async

Usage no npm install needed!

<script type="module">
  import particleAwaitOn from 'https://cdn.skypack.dev/@particle/await-on';
</script>

README

😪 @particle/await-on

npm node npm npm Travis Coveralls github

Really simple error handling with await/async

Forked from await-on by Jason Yung, itself inspired by await-to-js whose creator Dima Grossman originally blogged about using destructuring array assignment

Quick Usage

This package provides a helper for destructuring the results of a Promise:

const on = require('@particle/await-on');

const fetchData = () => new Promise(/*...*/);

const [err, data] = await on(fetchData());
if(err) {
    res.send(err);
} else {
    res.send(data);
}

The goal is to avoid the built-in approach using the try/catch block pattern:

try {
    const data = await fetchData();
    res.send(data);
} catch(err) {
    res.send(err);
}

Type fuzziness

Non-promises will passthrough same as the behavior of the native await

const [err, answer] = await on(42); //not a promise but ok no big deal
console.log(answer) //> 42

License

MIT License. See License in the repository.