File tree Expand file tree Collapse file tree 5 files changed +63
-43
lines changed Expand file tree Collapse file tree 5 files changed +63
-43
lines changed Original file line number Diff line number Diff line change 2
2
3
3
// Synchronous function to callback-last
4
4
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
+ } ;
17
19
18
20
// Usage
19
21
Original file line number Diff line number Diff line change 2
2
3
3
// Callback-last function to Promise-returning
4
4
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
+ } ) ;
10
13
} ) ;
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
+ */
13
25
14
26
// Usage
15
27
Original file line number Diff line number Diff line change 2
2
3
3
// Synchronous function to Promise-returning
4
4
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
+ } ;
14
16
15
17
// Usage
16
18
Original file line number Diff line number Diff line change 2
2
3
3
// Promise-returning function callback-last / error-first
4
4
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
+ } ;
15
17
16
18
// Usage
17
19
Original file line number Diff line number Diff line change 3
3
// Convert Promise to callback-last
4
4
5
5
const 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
+ } ) ;
11
13
} ;
12
14
13
15
// Usage
You can’t perform that action at this time.
0 commit comments