deno.land / x / opine@2.3.4 / examples / react / services / wrapPromise.ts

wrapPromise.ts
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// 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;
opine

Version Info

Tagged at
2 years ago