# thread.dlManager 库模块帮助文档

## thread 成员列表 <a id="thread" href="#thread">&#x23;</a>

### thread.dlManager <a id="thread.dlManager" href="#thread.dlManager">&#x23;</a>
多线程下载管理器

### thread.dlManager() <a id="thread.dlManager" href="#thread.dlManager">&#x23;</a>
[返回对象:threadDlManagerObject](#threadDlManagerObject)

### thread.dlManager(线程数,等待延时) <a id="thread.dlManager" href="#thread.dlManager">&#x23;</a>
创建下载管理器  
参数@省略则默认创建2个下载线程可选用  
参数@2指定线程每次任务完成后的等待延时,默认为200毫秒

## threadDlManagerObject 成员列表 <a id="threadDlManagerObject" href="#threadDlManagerObject">&#x23;</a>

### threadDlManagerObject.cancel(任务ID) <a id="threadDlManagerObject.cancel" href="#threadDlManagerObject.cancel">&#x23;</a>
取消指定的下载任务

### threadDlManagerObject.push( 任务配置 ) <a id="threadDlManagerObject.push" href="#threadDlManagerObject.push">&#x23;</a>

```aardio
threadDlManagerObject.push(   
    id = /*必须指定任务唯一标志  
参数表也是此函数的返回值*/;  
    url = "下载网址,重复的下载网址将被自动忽略";/;  
    referer = "引用网址";  
    savedir = "/downloads/";  
    filename = 可选参数;    
)
```

### threadDlManagerObject.push() <a id="threadDlManagerObject.push" href="#threadDlManagerObject.push">&#x23;</a>
[返回对象:threadDlManagerTaskObject](#threadDlManagerTaskObject)

### threadDlManagerObject.quit() <a id="threadDlManagerObject.quit" href="#threadDlManagerObject.quit">&#x23;</a>
关闭全部下载线程

### threadDlManagerObject.works <a id="threadDlManagerObject.works" href="#threadDlManagerObject.works">&#x23;</a>
[返回对象:threadWorkObject](#threadWorkObject)

## threadDlManagerObject 事件列表 <a id="threadDlManagerObjectEvent" href="#threadDlManagerObjectEvent">&#x23;</a>

### threadDlManagerObject.onEnd <a id="threadDlManagerObject.onEnd" href="#threadDlManagerObject.onEnd">&#x23;</a>

```aardio
threadDlManagerObject.onEnd = function(id,savepath,resumePath,contentLength){
    /*下载完成触发此事件  
下载成功则savepath为存储路径,否则该参数为空  
resumePath为续传配置文件路径*/
}
```

### threadDlManagerObject.onError <a id="threadDlManagerObject.onError" href="#threadDlManagerObject.onError">&#x23;</a>

```aardio
threadDlManagerObject.onError = function(id,err){
    /*下载错到错误触发此事件  
出错则err参数为错误信息,用户取消则err参数为空*/
}
```

### threadDlManagerObject.onReceive <a id="threadDlManagerObject.onReceive" href="#threadDlManagerObject.onReceive">&#x23;</a>

```aardio
threadDlManagerObject.onReceive = function(id,sizePs,downSize){
    /*下载触发此事件*/
}
```

### threadDlManagerObject.onReceiveBegin <a id="threadDlManagerObject.onReceiveBegin" href="#threadDlManagerObject.onReceiveBegin">&#x23;</a>

```aardio
threadDlManagerObject.onReceiveBegin = function(id,url,filename,statusText,httpStatusCode,totalSize,downSize){
    /*开始下载触发此事件*/
}
```

## threadDlManagerTaskObject 成员列表 <a id="threadDlManagerTaskObject" href="#threadDlManagerTaskObject">&#x23;</a>

### threadDlManagerTaskObject.id <a id="threadDlManagerTaskObject.id" href="#threadDlManagerTaskObject.id">&#x23;</a>
任务id
