Skip to content

Latest commit

History

History
155 lines (117 loc) · 4.56 KB

File metadata and controls

155 lines (117 loc) · 4.56 KB
publicstaticintmCount = 0;
publicstaticvoidmain(String[] args) {
PriorityElementImp<Integer, Integer> element0 = testElement0();
PriorityElementImp<String, String> testElement5 = testElement5();
testElement5.subscribe(s -> {
System.out.println("testElement5 subscribe : " + s);
}).exception(error -> {
System.out.println("testElement5 exception : " + error.getMessage());
}).dispose(() -> {
System.out.println("testElement5 dispose");
});
element0
.then(testElement1())
.then(testElement2())
.then(testElement3())
.then(testElement4())
.then(testElement5);
element0.executeWithData(10);
}

Normal operation

publicstaticPriorityElementImptestElement0() {
returnnewPriorityElementImp<Integer, Integer>( promise -> {
Integert = promise.getInput();
System.out.println("t = " + t.toString());
promise.next(100);
}).subscribe(integer -> {
System.out.println("element0 subscribe : " + integer);
}).exception(error -> {
System.out.println("element0 exception : " + error.getMessage());
}).dispose(() -> {
System.out.println("element0 dispose");
});
}

Loop delay check operation (e.g. polling)

publicstaticPriorityElementImptestElement1() {
returnnewPriorityElementImp<Integer, Integer>( promise -> {
mCount++;
System.out.println(System.currentTimeMillis() + " mCount = " + mCount);
promise.setOutput(mCount);
System.out.println("100ms查询一次,一共查询5次, 轮询 ");
promise.loopValidated(mCount >= 5, 100);
}).subscribe(integer -> {
System.out.println("testElement1 subscribe : " + integer);
}).exception(error -> {
System.out.println("testElement1 exception : " + error.getMessage());
}).dispose(() -> {
System.out.println("testElement1 dispose");
});
}

General asynchronous operations

publicstaticPriorityElementImptestElement2() {
returnnewPriorityElementImp<Integer, Integer>( promise -> {
Integert = promise.getInput();
System.out.println("t = " + t.toString());
promise.next(10000);
}).subscribe(integer -> {
System.out.println("testElement2 subscribe : " + integer);
}).exception(error -> {
System.out.println("testElement2 exception : " + error.getMessage());
}).dispose(() -> {
System.out.println("testElement2 dispose");
});
}

General check operation (if else nesting)

publicstaticPriorityElementImptestElement3() {
returnnewPriorityElementImp<Integer, String>( promise -> {
Integert = promise.getInput();
System.out.println("t = " + t.toString());
promise.setOutput("即将延迟校验结束");
promise.validated(t > 100);
}).subscribe(s -> {
System.out.println("testElement3 subscribe : " + s);
}).exception(error -> {
System.out.println("testElement3 exception : " + error.getMessage());
}).dispose(() -> {
System.out.println("testElement3 dispose");
});
}

Condition check operation

publicstaticPriorityElementImptestElement4() {
returnnewPriorityElementImp<String, String>(promise -> {
Strings = promise.getInput();
System.out.println(s);
System.out.println(System.currentTimeMillis() + " begin 延迟1000ms校验结束");
promise.setOutput("结束了");
promise.condition(mCount >= 5, 1000);
}).subscribe(s -> {
System.out.println("testElement4 subscribe : " + s);
}).exception(error -> {
System.out.println("testElement4 exception : " + error.getMessage());
}).dispose(() -> {
System.out.println("testElement4 dispose");
});
}
publicstaticPriorityElementImp<String, String> testElement5() {
returnnewPriorityElementImp<>(promise -> {
System.out.println(System.currentTimeMillis() + " end 延迟1000ms校验结束");
Strings = promise.getInput();
System.out.println(s);
// promise.next("game over");promise.brake(null);
});
}