1.3.0
一、修改了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)