Browse Source

docs: Update DownloadItem for getState

Cheng Zhao 8 years ago
parent
commit
3f1dba3016
1 changed files with 47 additions and 19 deletions
  1. 47 19
      docs/api/download-item.md

+ 47 - 19
docs/api/download-item.md

@@ -2,49 +2,66 @@
 
 > Control file downloads from remote sources.
 
-`DownloadItem` is an EventEmitter that represents a download item in Electron.
-It is used in `will-download` event of `Session` module, and allows users to
+`DownloadItem` is an `EventEmitter` that represents a download item in Electron.
+It is used in `will-download` event of `Session` class, and allows users to
 control the download item.
 
 ```javascript
 // In the main process.
 win.webContents.session.on('will-download', (event, item, webContents) => {
   // Set the save path, making Electron not to prompt a save dialog.
-  item.setSavePath('/tmp/save.pdf');
-  console.log(item.getMimeType());
-  console.log(item.getFilename());
-  console.log(item.getTotalBytes());
-  item.on('updated', () => {
-    console.log('Received bytes: ' + item.getReceivedBytes());
-  });
-  item.on('done', (e, state) => {
+  item.setSavePath('/tmp/save.pdf')
+
+  item.on('updated', (event, state) => {
+    if (state === 'progressing') {
+      console.log(`Received bytes: ${item.getReceivedBytes()}`)
+    } else {
+      console.log('Download stopped')
+    }
+  })
+  item.on('done', (event, state) => {
     if (state === 'completed') {
-      console.log('Download successfully');
+      console.log('Download successfully')
     } else {
-      console.log('Download is cancelled or interrupted that can\'t be resumed');
+      console.log(`Download failed: ${state}`)
     }
-  });
-});
+  })
+})
 ```
 
 ## Events
 
 ### Event: 'updated'
 
-Emits when the `downloadItem` gets updated.
+Returns:
+
+* `event` Event
+* `state` String
+
+Emitted when the download has been updated and is not done.
+
+The `state` can be one of following:
+
+* `progressing` - The download is in-progress.
+* `interrupted` - The download has interrupted and can be resumed.
 
 ### Event: 'done'
 
+Returns:
+
 * `event` Event
 * `state` String
-  * `completed` - The download completed successfully.
-  * `cancelled` - The download has been cancelled.
-  * `interrupted` - An error broke the connection with the file server.
 
-Emits when the download is in a terminal state. This includes a completed
+Emitted when the download is in a terminal state. This includes a completed
 download, a cancelled download(via `downloadItem.cancel()`), and interrupted
 download that can't be resumed.
 
+The `state` can be one of following:
+
+* `completed` - The download completed successfully.
+* `cancelled` - The download has been cancelled.
+* `interrupted` - The download has interrupted and can not resume.
+
 ## Methods
 
 The `downloadItem` object has the following methods:
@@ -102,3 +119,14 @@ Returns a `Integer` represents the received bytes of the download item.
 
 Returns a `String` represents the Content-Disposition field from the response
 header.
+
+### `downloadItem.getState()`
+
+Returns current state as `String`.
+
+Possible values are:
+
+* `progressing` - The download is in-progress.
+* `completed` - The download completed successfully.
+* `cancelled` - The download has been cancelled.
+* `interrupted` - The download has interrupted.