# ProgressListener
用于监听上传/下载进度的对象。
# progressListener.upload 上传监听器
progressListener.upload(apiName: string, exec: Function)
上传监听器接受两个参数,第一个参数为要监听的 apiName,第二个参数为触发监听的方法。 exec 执行方法接收一个 evt 参数,用于判断监听类型,以及进度状态。
# 使用范例
import { progressListener } from 'netrol'
progressListener.upload('file', (evt) => {
console.log(evt)
/**
* evt 对象
* {
type: string,
event: ProgressEvent,
status: number,
statusText: string,
ProgressStatus: object
total: number
loaded: number
* }
*/
})
# progressListener.download 下载监听器
progressListener.download(apiName: string, exec: Function)
下载监听器使用同上载监听器一样。接受两个参数,第一个参数为要监听的 apiName,第二个参数为触发监听的方法。 exec 执行方法接收一个 event 参数,用于判断监听类型,以及进度状态。
# 使用范例
import { progressListener } from 'netrol'
progressListener.download('file', (evt) => {
console.log(evt)
/**
* evt 对象
* {
type: string,
event: ProgressEvent,
status: number,
statusText: string,
ProgressStatus: object
total: number
loaded: number
* }
*/
})
# evt 对象
evt 是上传/下载监听器的回调参数,它包括以下属性
- type
string
, 监听类型,值为 upload/download - event
ProgressEvent
, ProgressEvent 对象,是 xhr 响应事件的回调参数 - status
number
, 当前进度状态,其值与 ProgressStatus 枚举对象对应 - statusText
string
, 当前进度状态的文字描述 - ProgressStatus
object
, 进度状态的枚举,其包含:- FAIL = 0,
- SUCCESS = 1,
- PROGRESS = 2,
- START = 3,
- CANCEL = 4,
- TIMEOUT = 5
- total
number
, 当 status === ProgressStatus.PROGRESS 才有的属性,为上传/下载文件的总大小,来自 evt.event.total - loaded
number
, 当 status === ProgressStatus.PROGRESS 才有的属性,为已经上传/下载文件的大小,来自 evt.event.loaded
← Cancel