deno.land / x / opine@2.3.4 / examples / react / services / wrapPromise.ts
123456789101112131415161718192021222324252627282930313233// deno-lint-ignore-file no-explicit-any
export function wrapPromise(promise: Promise<any>) { let status = "pending"; let response: any;
const suspender = promise.then( (res) => { status = "success"; response = res; }, (err) => { status = "error"; response = err; }, );
const read = () => { switch (status) { case "pending": throw suspender; case "error": throw response; default: return response; } };
return { read };}
export default wrapPromise;
Version Info