|
@@ -27,19 +27,16 @@ const fetch = (...args) => {
|
27
|
27
|
|
28
|
28
|
let [method, url, headers, body] = [...args]
|
29
|
29
|
let nativeMethodName = Array.isArray(body) ? 'fetchBlobForm' : 'fetchBlob'
|
30
|
|
-
|
31
|
|
- let progressEventHandler = (e) => {
|
|
30
|
+ let handle = DeviceEventEmitter.addListener('RNFetchBlobProgress', (e) => {
|
32
|
31
|
if(e.taskId === taskId && promise.onProgress) {
|
33
|
32
|
promise.onProgress(e.written, e.total)
|
34
|
33
|
}
|
35
|
|
- }
|
36
|
|
-
|
37
|
|
- DeviceEventEmitter.addListener('RNFetchBlobProgress' + taskId, progressEventHandler)
|
|
34
|
+ })
|
38
|
35
|
|
39
|
36
|
RNFetchBlob[nativeMethodName](taskId, method, url, headers || {}, body, (err, ...data) => {
|
40
|
37
|
|
41
|
38
|
// task done, remove event listener
|
42
|
|
- DeviceEventEmitter.removeAllListeners('RNFetchBlobProgress'+taskId)
|
|
39
|
+ handle.remove()
|
43
|
40
|
|
44
|
41
|
if(err)
|
45
|
42
|
reject(new Error(err, ...data))
|