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
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);
}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) //> 42MIT License. See License in the repository.