@@ -6,6 +6,7 @@ import { batchRequest, request } from './request'
6
6
import { isArray , mergeConfig } from './utils'
7
7
8
8
import {
9
+ IFetch ,
9
10
IFetchConfig ,
10
11
IFetchFile ,
11
12
IFetchFileConfig ,
@@ -20,22 +21,21 @@ export default class XCrawl {
20
21
this . baseConfig = baseConfig
21
22
}
22
23
23
- async fetch < T = any > ( config : IFetchConfig ) : Promise < T > {
24
+ async fetch < T = any > ( config : IFetchConfig ) : Promise < IFetch < T > > {
24
25
const { requestConifg, intervalTime } = mergeConfig ( this . baseConfig , config )
25
26
26
- const isRequestConifgArr = isArray ( requestConifg )
27
- const requestConifgArr = isRequestConifgArr
27
+ const requestConfigQueue = isArray ( requestConifg )
28
28
? requestConifg
29
29
: [ requestConifg ]
30
30
31
- const container = [ ] as T [ ]
31
+ const container : IFetch < T > = [ ]
32
32
33
- await batchRequest ( requestConifgArr , intervalTime , ( requestRes ) => {
34
- container . push ( JSON . parse ( requestRes . data . toString ( ) ) )
33
+ await batchRequest ( requestConfigQueue , intervalTime , ( requestRes ) => {
34
+ const data : T = JSON . parse ( requestRes . data . toString ( ) )
35
+ container . push ( { ...requestRes , data } )
35
36
} )
36
37
37
- const res = isRequestConifgArr ? container : container [ 0 ]
38
- return res as T
38
+ return container
39
39
}
40
40
41
41
fetchFile ( config : IFetchFileConfig ) : Promise < IFetchFile > {
@@ -46,7 +46,7 @@ export default class XCrawl {
46
46
)
47
47
48
48
let successCount = 0
49
- const res : IFetchFile = [ ]
49
+ const container : IFetchFile = [ ]
50
50
51
51
function eachRequestResHandle (
52
52
requestRes : IRequest ,
@@ -69,25 +69,25 @@ export default class XCrawl {
69
69
)
70
70
}
71
71
72
- res . push ( {
72
+ container . push ( {
73
73
fileName,
74
74
mimeType,
75
75
size : data . length ,
76
76
filePath
77
77
} )
78
78
79
- if ( ++ successCount === requestConifgArr . length ) {
79
+ if ( ++ successCount === requestConfigQueue . length ) {
80
80
console . log ( 'All files downloaded successfully!' )
81
- resolve ( res )
81
+ resolve ( container )
82
82
}
83
83
} )
84
84
}
85
85
86
- const requestConifgArr = isArray ( requestConifg )
86
+ const requestConfigQueue = isArray ( requestConifg )
87
87
? requestConifg
88
88
: [ requestConifg ]
89
89
90
- batchRequest ( requestConifgArr , intervalTime , eachRequestResHandle )
90
+ batchRequest ( requestConfigQueue , intervalTime , eachRequestResHandle )
91
91
} )
92
92
}
93
93
0 commit comments