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