Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const operations = {
- op1: () => Promise.resolve([null, 'foo']),
- op2: (res) => Promise.resolve([new Error(`Ugh, an error: ${res}`)]),
- op3: (res) => Promise.resolve([null, 'op3 ' + res])
- };
- module.exports = async function operation () {
- let [err1, res1] = await operations.op1();
- if (err1) {
- console.error('error 1', err1);
- return false;
- }
- // This is the case which is "less nice" for sure
- let [[err2, res2], [err3, res3]] = await Promise.all([
- operations.op2(res1),
- operations.op3(res1)
- ]);
- // Or these could be broken up into multiple ifs
- if (err2 || err3) {
- err2 && console.error('error 2', err2);
- err3 && console.error('error 3', err3);
- return false;
- }
- return [res2, res3];
- };
Add Comment
Please, Sign In to add comment