Skip to content

1.3.0

Compare
Choose a tag to compare
@LuckyJayce LuckyJayce released this 17 Apr 17:18
· 35 commits to master since this release

一、修改了MVCHelper内部由TaskHelper创建执行dataSource

1.添加TaskExecutor接口类,代表Task+Callback的执行处理
2.TaskHelper添加createExecutor创建TaskExecutor
3.解耦ResponseSender和task,datasource的耦合,callback的耦合,避免ResponseSender被线程持有后不能及时释放

二、添加MVCHelper-Tasks类库 Task的操作符

比如先初始化token,然后再调用获取用户信息task

 IAsyncTask<User> task = Tasks
                    .create(new InitTokenTask())
                    .concatWith(new GetUserTask()));

Tasks提供:
1.同步task转异步task

Tasks.async(ITask<DATA> task)

2.按两个task先后顺序执行

Tasks.concatWith(IAsyncTask<D> task, final IAsyncTask<DATA> task2)

3.按两个task先后顺序执行,task1的结果可以作为task的参数

Tasks.concatMap(IAsyncTask<D> task, Func1<D, IAsyncTask<DATA>> func) 

4.合并两个task,两个task一起执行,其中一个报错就停止执行,func将两个d1和d2的结果转化成最终的data

combine(IAsyncTask<D1> task1, IAsyncTask<D2> task2, Func2<D1, D2, DATA> func)

DataSources提供:
1.先执行task,再执行dataSource,该函数会返回新的dataSource

concatWith(IAsyncTask<Void> task, IDataSource<DATA> dataSource)