Skip to content

Instantly share code, notes, and snippets.

@jperl
Created August 21, 2017 17:04
Show Gist options
  • Save jperl/4a1dfa22e66cc7732f5f2b287f30b3ab to your computer and use it in GitHub Desktop.
Save jperl/4a1dfa22e66cc7732f5f2b287f30b3ab to your computer and use it in GitHub Desktop.
promises
// non-blocking --- event loop
const resolveAsync = () =>
new Promise((resolve) => {
setTimeout(() => {
resolve('something');
}, 100);
});
const rejectAsync = () =>
new Promise((resolve, reject) => {
setTimeout(() => {
reject('!!!error!!!');
}, 100);
});
describe('promises', () => {
it('resolve', () =>
resolveAsync()
.then((result) => {
expect(result).toEqual('something');
}),
);
it('async resolve', async () => {
const result = await resolveAsync();
expect(result).toEqual('something');
});
it('reject', () =>
rejectAsync()
.catch((error) => {
expect(error).toEqual('!!!error!!!');
}),
);
it('async reject', async () => {
try {
await resolveAsync();
} catch (error) {
expect(error).toEqual('!!!error!!!');
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment