Skip to content

Instantly share code, notes, and snippets.

@jsocol
Last active April 14, 2017 12:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jsocol/eb8c08e3002ba2daed0eecaffa371faf to your computer and use it in GitHub Desktop.
Save jsocol/eb8c08e3002ba2daed0eecaffa371faf to your computer and use it in GitHub Desktop.
throwing from callbacks
// Logs 'rejected Error: sync error'
const p = new Promise((resolve, reject) => {
throw new Error('sync error');
}).then(null, e => console.log('rejected', e));
// q never settles, uncaught error
const q = new Promise((resolve, reject) => {
setImmediate(() => { throw new Error('async error'); });
}).then(null, e => console.log('rejected', e));
// r never settles, catch never executes
try {
const r = new Promise((resolve, reject) => {
setImmediate(() => { throw new Error('async error'); });
}).then(null, e => console.log('rejected', e));
} catch (err) {
console.log('caught', err);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment