Skip to content

Commit 4d72ac3

Browse files
author
zsy
committed
添加注释
1 parent a772d39 commit 4d72ac3

File tree

1 file changed

+51
-1
lines changed
  • mvchelper_tasks/src/main/java/com/shizhefei/task/tasks

1 file changed

+51
-1
lines changed

mvchelper_tasks/src/main/java/com/shizhefei/task/tasks/Tasks.java

+51-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414

1515
public class Tasks {
1616

17+
/**
18+
* 将一个同步task转化为异步task
19+
* @param task
20+
* @param <DATA>
21+
* @return
22+
*/
1723
public static <DATA> LinkTask<DATA> async(ITask<DATA> task) {
1824
return new AsyncLinkTask<>(task, true);
1925
}
@@ -22,31 +28,65 @@ public static <DATA> LinkTask<DATA> just(DATA data) {
2228
return new DataLinkTask<>(data);
2329
}
2430

31+
/**
32+
* 通过同步task创建一个链式task
33+
* @param task
34+
* @param <DATA>
35+
* @return 一个链式task
36+
*/
2537
public static <DATA> LinkTask<DATA> create(ITask<DATA> task) {
2638
return new AsyncLinkTask<>(task, true);
2739
}
2840

41+
/**
42+
* 通过异步task创建一个链式task
43+
* @param task
44+
* @param <DATA>
45+
* @return 一个链式task
46+
*/
2947
public static <DATA> LinkTask<DATA> create(IAsyncTask<DATA> task) {
3048
if (task instanceof LinkTask) {
3149
return (LinkTask<DATA>) task;
3250
}
3351
return new LinkProxyTask<>(task);
3452
}
3553

54+
/**
55+
* 通过一个同步dataSource创建一个链式task
56+
* @param dataSource
57+
* @param isExeRefresh true:dataSource的refresh转成task,false:dataSource的loadMore转成task
58+
* @param <DATA>
59+
* @return 一个链式task
60+
*/
3661
public static <DATA> LinkTask<DATA> create(IDataSource<DATA> dataSource, boolean isExeRefresh) {
3762
return new AsyncLinkTask<>(dataSource, isExeRefresh);
3863
}
3964

65+
/**
66+
* 通过一个异步dataSource创建一个链式task
67+
* @param dataSource
68+
* @param isExeRefresh true:dataSource的refresh转成task,false:dataSource的loadMore转成task
69+
* @param <DATA>
70+
* @return 一个链式task
71+
*/
4072
public static <DATA> LinkTask<DATA> create(IAsyncDataSource<DATA> dataSource, boolean isExeRefresh) {
4173
return new AsyncLinkTask<>(dataSource, isExeRefresh);
4274
}
4375

76+
/**
77+
* 按两个task先后顺序执行,task1的结果可以作为task的参数
78+
* @param task task1
79+
* @param func 将task的结果传给task2,返回一个可执行task2
80+
* @param <D> 数据1
81+
* @param <DATA> 结果数据
82+
* @return
83+
*/
4484
public static <D, DATA> LinkTask<DATA> concatMap(IAsyncTask<D> task, Func1<D, IAsyncTask<DATA>> func) {
4585
return new ConcatLinkTask<>(task, func);
4686
}
4787

4888
/**
49-
* 连接两个task
89+
* 按两个task先后顺序执行
5090
*
5191
* @param task
5292
* @param task2
@@ -63,6 +103,16 @@ public IAsyncTask<DATA> call(D data) throws Exception {
63103
});
64104
}
65105

106+
/**
107+
* 合并两个task,两个task一起执行,其中一个报错就停止执行,func将两个d1和d2的结果转化成最终的data
108+
* @param task1
109+
* @param task2
110+
* @param func
111+
* @param <D1>
112+
* @param <D2>
113+
* @param <DATA>
114+
* @return
115+
*/
66116
public static <D1, D2, DATA> LinkTask<DATA> combine(IAsyncTask<D1> task1, IAsyncTask<D2> task2, Func2<D1, D2, DATA> func) {
67117
return new CombineTask<>(task1, task2, func);
68118
}

0 commit comments

Comments
 (0)