File tree Expand file tree Collapse file tree 4 files changed +24
-0
lines changed Expand file tree Collapse file tree 4 files changed +24
-0
lines changed Original file line number Diff line number Diff line change 1
1
import asyncForEach from './forEach' ;
2
2
3
3
export default function asyncSome ( arr , fn ) {
4
+ let resolved ;
4
5
return new Promise ( ( resolve ) => {
5
6
asyncForEach (
6
7
arr ,
7
8
( cur , idx , arr2 ) =>
8
9
new Promise ( ( resolve2 ) => {
10
+ if ( resolved ) {
11
+ return ;
12
+ }
9
13
fn ( cur , idx , arr2 ) . then ( ( result ) => {
10
14
if ( ! result ) {
11
15
resolve ( false ) ;
16
+ resolved = true ;
12
17
}
13
18
resolve2 ( ) ;
14
19
} ) ;
15
20
} ) ,
16
21
) . then ( ( ) => {
17
22
resolve ( true ) ;
23
+ resolved = true ;
18
24
} ) ;
19
25
} ) ;
20
26
}
Original file line number Diff line number Diff line change 1
1
import asyncForEachStrict from './forEach_strict' ;
2
2
3
3
export default function asyncEveryStrict ( arr , fn ) {
4
+ let resolved ;
4
5
return new Promise ( ( resolve ) => {
5
6
asyncForEachStrict (
6
7
arr ,
7
8
( cur , idx , arr2 ) =>
8
9
new Promise ( ( resolve2 ) => {
10
+ if ( resolved ) {
11
+ return ;
12
+ }
9
13
fn ( cur , idx , arr2 ) . then ( ( result ) => {
10
14
if ( ! result ) {
11
15
resolve ( false ) ;
16
+ resolved = true ;
12
17
}
13
18
resolve2 ( ) ;
14
19
} ) ;
15
20
} ) ,
16
21
) . then ( ( ) => {
17
22
resolve ( true ) ;
23
+ resolved = true ;
18
24
} ) ;
19
25
} ) ;
20
26
}
Original file line number Diff line number Diff line change 1
1
import asyncForEach from './forEach' ;
2
2
3
3
export default function asyncSome ( arr , fn ) {
4
+ let resolved ;
4
5
return new Promise ( ( resolve ) => {
5
6
asyncForEach (
6
7
arr ,
7
8
( cur , idx , arr2 ) =>
8
9
new Promise ( ( resolve2 ) => {
10
+ if ( resolved ) {
11
+ return ;
12
+ }
9
13
fn ( cur , idx , arr2 ) . then ( ( result ) => {
10
14
if ( result ) {
11
15
resolve ( true ) ;
16
+ resolved = true ;
12
17
}
13
18
resolve2 ( ) ;
14
19
} ) ;
15
20
} ) ,
16
21
) . then ( ( ) => {
17
22
resolve ( false ) ;
23
+ resolved = true ;
18
24
} ) ;
19
25
} ) ;
20
26
}
Original file line number Diff line number Diff line change 1
1
import asyncForEachStrict from './forEach_strict' ;
2
2
3
3
export default function asyncSomeStrict ( arr , fn ) {
4
+ let resolved ;
4
5
return new Promise ( ( resolve ) => {
5
6
asyncForEachStrict (
6
7
arr ,
7
8
( cur , idx , arr2 ) =>
8
9
new Promise ( ( resolve2 ) => {
10
+ if ( resolved ) {
11
+ return ;
12
+ }
9
13
fn ( cur , idx , arr2 ) . then ( ( result ) => {
10
14
if ( result ) {
11
15
resolve ( true ) ;
16
+ resolved = true ;
12
17
}
13
18
resolve2 ( ) ;
14
19
} ) ;
15
20
} ) ,
16
21
) . then ( ( ) => {
17
22
resolve ( false ) ;
23
+ resolved = true ;
18
24
} ) ;
19
25
} ) ;
20
26
}
You can’t perform that action at this time.
0 commit comments