01進(jìn)度條
前提:
? ? ? ? 在平時(shí)做開(kāi)發(fā)是遇到一個(gè)這樣的問(wèn)題豆赏,有一個(gè)初始化操作比較耗時(shí),如果做成同步實(shí)現(xiàn)贮喧,前端的http請(qǐng)求會(huì)超時(shí),因此做成了異步實(shí)現(xiàn)猪狈,前端提交請(qǐng)求后箱沦,就返回結(jié)束了,異步任務(wù)每處理總?cè)蝿?wù)10%左右的時(shí)候雇庙,會(huì)把當(dāng)前的處理進(jìn)度寫(xiě)入DB谓形,前端通過(guò)查詢(xún)獲得當(dāng)前的執(zhí)行進(jìn)度。
根據(jù)以上需求實(shí)現(xiàn)了一個(gè)進(jìn)度條類(lèi)
代碼
使用demo1:
步長(zhǎng):1疆前,總步數(shù):10寒跳,總長(zhǎng)度:10000
總長(zhǎng)度 % 總步數(shù)= 0
ProgressBar progressBar = new ProgressBar(1, 10, 10000);
progressBar.progress((ProgressBar.PreStepCallBack) (percent, context) -> {
??? System.out.println(percent);
});
輸出結(jié)果:
使用demo2
步長(zhǎng):1,總步數(shù):10竹椒,總長(zhǎng)度:10000
總長(zhǎng)度 % 總步數(shù)!= 0
ProgressBar progressBar = new ProgressBar(1, 10, 1024);
progressBar.progress((ProgressBar.PreStepCallBack) (percent, context) -> {
??? System.out.println(percent);
});
輸出結(jié)果: