@@ -5,15 +5,18 @@ const PROMISE_TIMEOUT = 1000;
55class Expirable {
66 constructor ( executor ) {
77 const promise = new Promise ( ( resolve , reject ) => {
8- executor ( ( val ) => {
9- if ( this . expired ) return ;
10- clearTimeout ( this . timer ) ;
11- resolve ( val ) ;
12- } , ( err ) => {
13- if ( this . expired ) return ;
14- clearTimeout ( this . timer ) ;
15- reject ( err ) ;
16- } ) ;
8+ executor (
9+ ( val ) => {
10+ if ( this . expired ) return ;
11+ clearTimeout ( this . timer ) ;
12+ resolve ( val ) ;
13+ } ,
14+ ( err ) => {
15+ if ( this . expired ) return ;
16+ clearTimeout ( this . timer ) ;
17+ reject ( err ) ;
18+ } ,
19+ ) ;
1720 this . timer = setTimeout ( ( ) => {
1821 this . expired = true ;
1922 reject ( new Error ( 'Expired' ) ) ;
@@ -32,38 +35,46 @@ new Expirable((resolve) => {
3235 setTimeout ( ( ) => {
3336 resolve ( 'Resolved before timeout' ) ;
3437 } , 100 ) ;
35- } ) . then ( ( data ) => {
36- console . dir ( { data } ) ;
37- } ) . catch ( ( error ) => {
38- console . dir ( { error : error . message } ) ;
39- } ) ;
38+ } )
39+ . then ( ( data ) => {
40+ console . dir ( { data } ) ;
41+ } )
42+ . catch ( ( error ) => {
43+ console . dir ( { error : error . message } ) ;
44+ } ) ;
4045
4146new Expirable ( ( resolve , reject ) => {
4247 setTimeout ( ( ) => {
4348 reject ( new Error ( 'Something went wrong' ) ) ;
4449 } , 100 ) ;
45- } ) . then ( ( data ) => {
46- console . dir ( { data } ) ;
47- } ) . catch ( ( error ) => {
48- console . dir ( { error : error . message } ) ;
49- } ) ;
50+ } )
51+ . then ( ( data ) => {
52+ console . dir ( { data } ) ;
53+ } )
54+ . catch ( ( error ) => {
55+ console . dir ( { error : error . message } ) ;
56+ } ) ;
5057
5158new Expirable ( ( resolve ) => {
5259 setTimeout ( ( ) => {
5360 resolve ( 'Never resolved before timeout' ) ;
5461 } , 2000 ) ;
55- } ) . then ( ( data ) => {
56- console . dir ( { data } ) ;
57- } ) . catch ( ( error ) => {
58- console . dir ( { error : error . message } ) ;
59- } ) ;
62+ } )
63+ . then ( ( data ) => {
64+ console . dir ( { data } ) ;
65+ } )
66+ . catch ( ( error ) => {
67+ console . dir ( { error : error . message } ) ;
68+ } ) ;
6069
6170new Expirable ( ( resolve , reject ) => {
6271 setTimeout ( ( ) => {
6372 reject ( new Error ( 'Never rejected before timeout' ) ) ;
6473 } , 2000 ) ;
65- } ) . then ( ( data ) => {
66- console . dir ( { data } ) ;
67- } ) . catch ( ( error ) => {
68- console . dir ( { error : error . message } ) ;
69- } ) ;
74+ } )
75+ . then ( ( data ) => {
76+ console . dir ( { data } ) ;
77+ } )
78+ . catch ( ( error ) => {
79+ console . dir ( { error : error . message } ) ;
80+ } ) ;
0 commit comments