Skip to content

Instantly share code, notes, and snippets.

@pennane
Last active July 13, 2024 10:45
Show Gist options
  • Select an option

  • Save pennane/2dabb3c2e45814dee2f8885be74d3f38 to your computer and use it in GitHub Desktop.

Select an option

Save pennane/2dabb3c2e45814dee2f8885be74d3f38 to your computer and use it in GitHub Desktop.
type TSettleResult<T> = [T, undefined] | [undefined, Error];
async function settle<T>(p: Promise<T>): Promise<TSettleResult<T>> {
try {
const x = await p;
return [x, undefined];
} catch (e) {
return [undefined, e];
}
};
async function make_believe_go_lang() {
const [value, error] = await settle(Promise.resolve(1234));
if (error) {
return null;
}
return value;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment