Skip to content

Commit efee8ce

Browse files
committed
fetch API 返回数组类型
1 parent 8eda54e commit efee8ce

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

src/index.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { batchRequest, request } from './request'
66
import { isArray, mergeConfig } from './utils'
77

88
import {
9+
IFetch,
910
IFetchConfig,
1011
IFetchFile,
1112
IFetchFileConfig,
@@ -20,22 +21,21 @@ export default class XCrawl {
2021
this.baseConfig = baseConfig
2122
}
2223

23-
async fetch<T = any>(config: IFetchConfig): Promise<T> {
24+
async fetch<T = any>(config: IFetchConfig): Promise<IFetch<T>> {
2425
const { requestConifg, intervalTime } = mergeConfig(this.baseConfig, config)
2526

26-
const isRequestConifgArr = isArray(requestConifg)
27-
const requestConifgArr = isRequestConifgArr
27+
const requestConfigQueue = isArray(requestConifg)
2828
? requestConifg
2929
: [requestConifg]
3030

31-
const container = [] as T[]
31+
const container: IFetch<T> = []
3232

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 })
3536
})
3637

37-
const res = isRequestConifgArr ? container : container[0]
38-
return res as T
38+
return container
3939
}
4040

4141
fetchFile(config: IFetchFileConfig): Promise<IFetchFile> {
@@ -46,7 +46,7 @@ export default class XCrawl {
4646
)
4747

4848
let successCount = 0
49-
const res: IFetchFile = []
49+
const container: IFetchFile = []
5050

5151
function eachRequestResHandle(
5252
requestRes: IRequest,
@@ -69,25 +69,25 @@ export default class XCrawl {
6969
)
7070
}
7171

72-
res.push({
72+
container.push({
7373
fileName,
7474
mimeType,
7575
size: data.length,
7676
filePath
7777
})
7878

79-
if (++successCount === requestConifgArr.length) {
79+
if (++successCount === requestConfigQueue.length) {
8080
console.log('All files downloaded successfully!')
81-
resolve(res)
81+
resolve(container)
8282
}
8383
})
8484
}
8585

86-
const requestConifgArr = isArray(requestConifg)
86+
const requestConfigQueue = isArray(requestConifg)
8787
? requestConifg
8888
: [requestConifg]
8989

90-
batchRequest(requestConifgArr, intervalTime, eachRequestResHandle)
90+
batchRequest(requestConfigQueue, intervalTime, eachRequestResHandle)
9191
})
9292
}
9393

0 commit comments

Comments
 (0)