Skip to content

Instantly share code, notes, and snippets.

@davalapar
Created August 25, 2018 00:40
Show Gist options
  • Save davalapar/298949e905f3a39b8405ec00a3d43be4 to your computer and use it in GitHub Desktop.
Save davalapar/298949e905f3a39b8405ec00a3d43be4 to your computer and use it in GitHub Desktop.
failure-first-approach.js
// do we have errors?
if (condition === false) {
return new Error('reason goes here') || Promise.reject(new Error('reason goes here')); // either
}
// are tasks needed?
if (condition === false) {
return tasks();
}
return Promise.resolve();
@davalapar
Copy link
Author

xhr(...parameters)
  .then((result) => {
    const { error } = result;
    if (error !== undefined) {
      console.log(error); // application error
    }
    console.log(result); // ok
  })
  .catch((error) => {
    console.log(error); // network error, 4xx / 5xx
  });

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment