File tree Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Original file line number Diff line number Diff line change
1
+ /*
2
+ * @Author : Chacha
3
+ * @Date : 2022-04-19 22:33:05
4
+ * @Last Modified by: Chacha
5
+ * @Last Modified time: 2022-04-19 22:40:07
6
+ */
7
+
8
+ /**
9
+ * Promise 练习
10
+ *
11
+ */
12
+
13
+ Promise . myAll = ( promises ) => {
14
+ return new Promise ( ( resolve , reject ) => {
15
+ let count = 0 ;
16
+ let result = [ ] ;
17
+ const length = promises . length ;
18
+
19
+ promises . forEach ( ( p , i ) => {
20
+ Promise . resolve ( p )
21
+ . then ( ( res ) => {
22
+ count += 1 ;
23
+ result [ i ] = res ;
24
+
25
+ if ( count === length ) {
26
+ resolve ( result ) ;
27
+ }
28
+ } )
29
+ . catch ( reject ) ;
30
+ } ) ;
31
+ } ) ;
32
+ } ;
33
+
34
+ let p1 = Promise . resolve ( 1 ) ;
35
+ let p2 = 2 ;
36
+ let p3 = new Promise ( ( resolve ) => {
37
+ setTimeout ( resolve , 100 , 3 ) ;
38
+ } ) ;
39
+ // let p4 = Promise.reject("出错啦");
40
+
41
+ Promise . myAll ( [ p1 , p2 , p3 ] )
42
+ . then ( ( res ) => {
43
+ console . log ( res , "res--3" ) ;
44
+ } )
45
+ . catch ( ( err ) => {
46
+ console . log ( "err" , err ) ;
47
+ } ) ;
You can’t perform that action at this time.
0 commit comments