Bläddra i källkod

Add #140 JS implementation, support interval and division for progress event

Ben Hsieh 7 år sedan
förälder
incheckning
adb88785df
1 ändrade filer med 22 tillägg och 4 borttagningar
  1. 22
    4
      src/index.js

+ 22
- 4
src/index.js Visa fil

202
     let count = -1
202
     let count = -1
203
     let fn = () => {}
203
     let fn = () => {}
204
     if(args.length === 2) {
204
     if(args.length === 2) {
205
-      interval = args[0].interval
206
-      interval = args[0].count
205
+      interval = args[0].interval || interval
206
+      count = args[0].count || count
207
       fn = args[1]
207
       fn = args[1]
208
     }
208
     }
209
     else {
209
     else {
218
     let count = -1
218
     let count = -1
219
     let fn = () => {}
219
     let fn = () => {}
220
     if(args.length === 2) {
220
     if(args.length === 2) {
221
-      interval = args[0].interval
222
-      interval = args[0].count
221
+      interval = args[0].interval || interval
222
+      count = args[0].count || count
223
       fn = args[1]
223
       fn = args[1]
224
     }
224
     }
225
     else {
225
     else {
276
     this.info = ():RNFetchBlobResponseInfo => {
276
     this.info = ():RNFetchBlobResponseInfo => {
277
       return this.respInfo
277
       return this.respInfo
278
     }
278
     }
279
+
280
+    this.array = ():Promise<Array> => {
281
+      let cType = info.headers['Content-Type'] || info.headers['content-type']
282
+      return new Promise((resolve, reject) => {
283
+        switch(this.type) {
284
+          case 'base64':
285
+            // TODO : base64 to array buffer
286
+          break
287
+          case 'path':
288
+            fs.readFile(this.data, 'ascii').then(resolve)
289
+          break
290
+          default:
291
+            // TODO : text to array buffer
292
+          break
293
+        }
294
+      })
295
+    }
296
+
279
     /**
297
     /**
280
      * Convert result to javascript RNFetchBlob object.
298
      * Convert result to javascript RNFetchBlob object.
281
      * @return {Promise<Blob>} Return a promise resolves Blob object.
299
      * @return {Promise<Blob>} Return a promise resolves Blob object.