Pipeline 类型
模块: cc.AssetManager
管线能执行任务达到某个效果
索引
属性(properties)
方法
constructor创建一个管线insert在某个特定的点为管线插入一个新的 pipeappend添加一个管道到管线中remove移除特定位置的管道sync同步执行任务async异步执行任务
Details
属性(properties)
id
管线的 id
| meta | description |
|---|---|
| 类型 | Number |
| 定义于 | cocos2d/core/asset-manager/pipeline.js:50 |
name
管线的名字
| meta | description |
|---|---|
| 类型 | String |
| 定义于 | cocos2d/core/asset-manager/pipeline.js:62 |
pipes
所有的管道
| meta | description |
|---|---|
| 类型 | Function[] |
| 定义于 | cocos2d/core/asset-manager/pipeline.js:74 |
方法
constructor
创建一个管线
| meta | description |
|---|---|
| 定义于 | cocos2d/core/asset-manager/pipeline.js:97 |
参数列表
namestring The name of pipelinefuncsFunction[] The array of pipe, every pipe must be function which take two parameters, the first is aTaskflowed in pipeline, the second is complete callback
示例
var pipeline = new Pipeline('download', [
(task, done) => {
var url = task.input;
cc.assetManager.downloader.downloadFile(url, null, null, (err, result) => {
task.output = result;
done(err);
});
},
(task, done) => {
var text = task.input;
var json = JSON.stringify(text);
task.output = json;
done();
}
]);
insert
在某个特定的点为管线插入一个新的 pipe
| meta | description |
|---|---|
| 返回 | Pipeline |
| 定义于 | cocos2d/core/asset-manager/pipeline.js:130 |
参数列表
示例
var pipeline = new Pipeline('test', []);
pipeline.insert((task, done) => {
// do something
done();
}, 0);
append
添加一个管道到管线中
| meta | description |
|---|---|
| 返回 | Pipeline |
| 定义于 | cocos2d/core/asset-manager/pipeline.js:165 |
参数列表
funcFunction The new pipe
示例
var pipeline = new Pipeline('test', []);
pipeline.append((task, done) => {
// do something
done();
});
remove
移除特定位置的管道
| meta | description |
|---|---|
| 返回 | Pipeline |
| 定义于 | cocos2d/core/asset-manager/pipeline.js:197 |
参数列表
indexnumber The specific point
示例
var pipeline = new Pipeline('test', (task, done) => {
// do something
done();
});
pipeline.remove(0);
sync
同步执行任务
| meta | description |
|---|---|
| 返回 | Any |
| 定义于 | cocos2d/core/asset-manager/pipeline.js:227 |
参数列表
taskTask The task will be executed
示例
var pipeline = new Pipeline('sync', [(task) => {
let input = task.input;
task.output = doSomething(task.input);
}]);
var task = new Task({input: 'test'});
console.log(pipeline.sync(task));
async
异步执行任务
| meta | description |
|---|---|
| 定义于 | cocos2d/core/asset-manager/pipeline.js:275 |
参数列表
taskTask The task will be executed
示例
var pipeline = new Pipeline('sync', [(task, done) => {
let input = task.input;
task.output = doSomething(task.input);
done();
}]);
var task = new Task({input: 'test', onComplete: (err, result) => console.log(result)});
pipeline.async(task);