File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 22
33// Synchronous function to callback-last
44
5- const asyncify = ( fn ) => ( ...args ) => {
6- const callback = args . pop ( ) ;
7- setTimeout ( ( ) => {
8- try {
9- const result = fn ( ...args ) ;
10- if ( result instanceof Error ) callback ( result ) ;
11- else callback ( null , result ) ;
12- } catch ( error ) {
13- callback ( error ) ;
14- }
15- } , 0 ) ;
16- } ;
5+ const asyncify =
6+ ( fn ) =>
7+ ( ...args ) => {
8+ const callback = args . pop ( ) ;
9+ setTimeout ( ( ) => {
10+ try {
11+ const result = fn ( ...args ) ;
12+ if ( result instanceof Error ) callback ( result ) ;
13+ else callback ( null , result ) ;
14+ } catch ( error ) {
15+ callback ( error ) ;
16+ }
17+ } , 0 ) ;
18+ } ;
1719
1820// Usage
1921
Original file line number Diff line number Diff line change 22
33// Callback-last function to Promise-returning
44
5- const promisify = ( fn ) => ( ...args ) => new Promise (
6- ( resolve , reject ) => {
7- fn ( ...args , ( err , data ) => {
8- if ( err ) reject ( err ) ;
9- else resolve ( data ) ;
5+ const promisify =
6+ ( fn ) =>
7+ ( ...args ) =>
8+ new Promise ( ( resolve , reject ) => {
9+ fn ( ...args , ( err , data ) => {
10+ if ( err ) reject ( err ) ;
11+ else resolve ( data ) ;
12+ } ) ;
1013 } ) ;
11- }
12- ) ;
14+
15+ /*
16+ const promisify = (fn) => (...args) => {
17+ const { promise, resolve, reject } = Promise.withResolvers();
18+ fn(...args, (err, data) => {
19+ if (err) reject(err);
20+ else resolve(data);
21+ });
22+ return promise;
23+ };
24+ */
1325
1426// Usage
1527
Original file line number Diff line number Diff line change 22
33// Synchronous function to Promise-returning
44
5- const promisifySync = ( fn ) => ( ...args ) => {
6- try {
7- const result = fn ( ...args ) ;
8- if ( result instanceof Error ) return Promise . reject ( result ) ;
9- else return Promise . resolve ( result ) ;
10- } catch ( error ) {
11- return Promise . reject ( error ) ;
12- }
13- } ;
5+ const promisifySync =
6+ ( fn ) =>
7+ ( ...args ) => {
8+ try {
9+ const result = fn ( ...args ) ;
10+ if ( result instanceof Error ) return Promise . reject ( result ) ;
11+ else return Promise . resolve ( result ) ;
12+ } catch ( error ) {
13+ return Promise . reject ( error ) ;
14+ }
15+ } ;
1416
1517// Usage
1618
Original file line number Diff line number Diff line change 22
33// Promise-returning function callback-last / error-first
44
5- const callbackify = ( fn ) => ( ...args ) => {
6- const callback = args . pop ( ) ;
7- fn ( ...args )
8- . then ( ( value ) => {
9- callback ( null , value ) ;
10- } )
11- . catch ( ( reason ) => {
12- callback ( reason ) ;
13- } ) ;
14- } ;
5+ const callbackify =
6+ ( fn ) =>
7+ ( ...args ) => {
8+ const callback = args . pop ( ) ;
9+ fn ( ...args )
10+ . then ( ( value ) => {
11+ callback ( null , value ) ;
12+ } )
13+ . catch ( ( reason ) => {
14+ callback ( reason ) ;
15+ } ) ;
16+ } ;
1517
1618// Usage
1719
Original file line number Diff line number Diff line change 33// Convert Promise to callback-last
44
55const promiseToCallbackLast = ( promise ) => ( callback ) => {
6- promise . then ( ( value ) => {
7- callback ( null , value ) ;
8- } ) . catch ( ( reason ) => {
9- callback ( reason ) ;
10- } ) ;
6+ promise
7+ . then ( ( value ) => {
8+ callback ( null , value ) ;
9+ } )
10+ . catch ( ( reason ) => {
11+ callback ( reason ) ;
12+ } ) ;
1113} ;
1214
1315// Usage
You can’t perform that action at this time.
0 commit comments