Skip to content

Instantly share code, notes, and snippets.

@rorisme
Last active July 8, 2022 22:19
Show Gist options
  • Save rorisme/addd66f7e9af74aaadce8f817e5bdbb4 to your computer and use it in GitHub Desktop.
Save rorisme/addd66f7e9af74aaadce8f817e5bdbb4 to your computer and use it in GitHub Desktop.
typescript-catch-helper.ts
type ItemResponse = {
items: number[];
error?: Error;
};
function getItems(shouldReject: boolean): Promise<ItemResponse> {
return new Promise((resolve, reject) => {
if (!shouldReject) return resolve({ items: [1, 2, 3, 4, 5] });
reject(new Error("Something wrong happened."));
});
}
async function doSomething() {
const result = (await getItems(true).catch((error) => {
return error;
})) as ItemResponse;
if (result.error) {
console.error(result.error.message);
return;
}
result.items?.forEach((item) => {
console.log(item);
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment