Skip to content

Instantly share code, notes, and snippets.

@JamesTheAwesomeDude
Last active May 13, 2024 15:23
Show Gist options
  • Save JamesTheAwesomeDude/2149956256a4c33e9163c8278c289ed2 to your computer and use it in GitHub Desktop.
Save JamesTheAwesomeDude/2149956256a4c33e9163c8278c289ed2 to your computer and use it in GitHub Desktop.
JavaScript convert error event to error object
// Step 1. construct object
let obj = await new Promise((resolve, reject) => {
const obj_pending = API_CONSTRUCTOR();
obj_pending.addEventListener(
'error',
(event) => void reject(new Error(
`${event.target.__proto__.constructor.name}: ${event.type} event`,
{cause: event}
)),
{once: true}
);
obj_pending.addEventListener(
API_OK_EVENT,
(event) => void resolve(
// NOTE: some APIs require you to return event.target directly
event.target.result
),
{once: true}
);
});
// Step 2. use object
DO_STUFF_WITH(obj);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment