Guest User

Untitled

a guest
Feb 18th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. const operations = {
  2. op1: () => Promise.resolve([null, 'foo']),
  3. op2: (res) => Promise.resolve([new Error(`Ugh, an error: ${res}`)]),
  4. op3: (res) => Promise.resolve([null, 'op3 ' + res])
  5. };
  6.  
  7. module.exports = async function operation () {
  8. let [err1, res1] = await operations.op1();
  9. if (err1) {
  10. console.error('error 1', err1);
  11. return false;
  12. }
  13.  
  14. // This is the case which is "less nice" for sure
  15. let [[err2, res2], [err3, res3]] = await Promise.all([
  16. operations.op2(res1),
  17. operations.op3(res1)
  18. ]);
  19.  
  20. // Or these could be broken up into multiple ifs
  21. if (err2 || err3) {
  22. err2 && console.error('error 2', err2);
  23. err3 && console.error('error 3', err3);
  24. return false;
  25. }
  26. return [res2, res3];
  27. };
Add Comment
Please, Sign In to add comment