0.0.3 • Published 6 years ago

task-layer v0.0.3

Weekly downloads
2
License
ISC
Repository
github
Last release
6 years ago

github

安装

npm i task-layer --save

使用

import { Layer } from 'task-layer';
let a = new Layer();

获得广播者

let a = new Layer();
a.getInformer();

获得广播者

let a = new Layer();
a.getInformer();

获得接受者

let a = new Layer();
a.getListener();

接受者登记

let a = new Layer();
a.getListener().deal(<target>,<function>);

广播者广播

let a = new Layer();
a.getInformer().send(<target>);

广播者登记对接受者返回的信息进行处理

let a = new Layer();
a.getInformer().deal(<function(data,emit)>,<是否向上冒泡>);

接受者完成后返回

let a = new Layer();
a.getListener().send(<data>);

产生下层

let a = new Layer();
a.createSubLayer();

手动向上层冒泡

let a = new Layer();
let b = a.createSubLayer();
b.responseToTopLayer(<res>);

例子

let a = new Layer();
a.getInformer().deal((res) =>{
    console.log(res,'这是首层处理');
});
a.getListener().deal('first',()=>{
    console.log('首层listener收到first的任务并开始工作')
})
a.getInformer().send('first');//首层发布first任务
a.getListener().send(777);//首层回复first任务的结果
let b = a.createSubLayer(); 
b.getInformer().deal((res,emit) =>{
    console.log(res,'这是次层处理');
    emit(res);//向上层冒泡本层结果
});
b.getListener().deal('aaa',()=>{
    console.log('次层收到aaa的任务并开始工作')
})
a.getInformer().send('aaa');//次层发布aaa任务
a.getListener().send(666);//次层回复aaa任务的结果
0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago