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 11import asyncForEach from './forEach' ;
22
33export default function asyncSome ( arr , fn ) {
4+ let resolved ;
45 return new Promise ( ( resolve ) => {
56 asyncForEach (
67 arr ,
78 ( cur , idx , arr2 ) =>
89 new Promise ( ( resolve2 ) => {
10+ if ( resolved ) {
11+ return ;
12+ }
913 fn ( cur , idx , arr2 ) . then ( ( result ) => {
1014 if ( ! result ) {
1115 resolve ( false ) ;
16+ resolved = true ;
1217 }
1318 resolve2 ( ) ;
1419 } ) ;
1520 } ) ,
1621 ) . then ( ( ) => {
1722 resolve ( true ) ;
23+ resolved = true ;
1824 } ) ;
1925 } ) ;
2026}
Original file line number Diff line number Diff line change 11import asyncForEachStrict from './forEach_strict' ;
22
33export default function asyncEveryStrict ( arr , fn ) {
4+ let resolved ;
45 return new Promise ( ( resolve ) => {
56 asyncForEachStrict (
67 arr ,
78 ( cur , idx , arr2 ) =>
89 new Promise ( ( resolve2 ) => {
10+ if ( resolved ) {
11+ return ;
12+ }
913 fn ( cur , idx , arr2 ) . then ( ( result ) => {
1014 if ( ! result ) {
1115 resolve ( false ) ;
16+ resolved = true ;
1217 }
1318 resolve2 ( ) ;
1419 } ) ;
1520 } ) ,
1621 ) . then ( ( ) => {
1722 resolve ( true ) ;
23+ resolved = true ;
1824 } ) ;
1925 } ) ;
2026}
Original file line number Diff line number Diff line change 11import asyncForEach from './forEach' ;
22
33export default function asyncSome ( arr , fn ) {
4+ let resolved ;
45 return new Promise ( ( resolve ) => {
56 asyncForEach (
67 arr ,
78 ( cur , idx , arr2 ) =>
89 new Promise ( ( resolve2 ) => {
10+ if ( resolved ) {
11+ return ;
12+ }
913 fn ( cur , idx , arr2 ) . then ( ( result ) => {
1014 if ( result ) {
1115 resolve ( true ) ;
16+ resolved = true ;
1217 }
1318 resolve2 ( ) ;
1419 } ) ;
1520 } ) ,
1621 ) . then ( ( ) => {
1722 resolve ( false ) ;
23+ resolved = true ;
1824 } ) ;
1925 } ) ;
2026}
Original file line number Diff line number Diff line change 11import asyncForEachStrict from './forEach_strict' ;
22
33export default function asyncSomeStrict ( arr , fn ) {
4+ let resolved ;
45 return new Promise ( ( resolve ) => {
56 asyncForEachStrict (
67 arr ,
78 ( cur , idx , arr2 ) =>
89 new Promise ( ( resolve2 ) => {
10+ if ( resolved ) {
11+ return ;
12+ }
913 fn ( cur , idx , arr2 ) . then ( ( result ) => {
1014 if ( result ) {
1115 resolve ( true ) ;
16+ resolved = true ;
1217 }
1318 resolve2 ( ) ;
1419 } ) ;
1520 } ) ,
1621 ) . then ( ( ) => {
1722 resolve ( false ) ;
23+ resolved = true ;
1824 } ) ;
1925 } ) ;
2026}
You can’t perform that action at this time.
0 commit comments