合肥网站设计服,小程序ui设计,做办公设备网站,网站怎么建设在哪里接单满足延迟执行、立即执行#xff0c;每次任务间隔时长#xff0c;总时长的任务
使用1
class TimeViewModel:Viewmodel(){//测试延迟5秒开始执行任务#xff0c;然后每隔1秒执行1次#xff0c;总执行时间60秒fun testTime(){var startTime System.currentTimeMillis()log(…满足延迟执行、立即执行每次任务间隔时长总时长的任务
使用1
class TimeViewModel:Viewmodel(){//测试延迟5秒开始执行任务然后每隔1秒执行1次总执行时间60秒fun testTime(){var startTime System.currentTimeMillis()log(执行 开始 startTime${startTime})val job viewModelScope.startTime(interval 5000,duration 1000,totalTime 60*1000,onNext {count-log(执行次数${count})},onFinish {log(执行结束)log(执行 结束 总耗时${System.currentTimeMillis() - startTime})})viewModelScope.launch {delay(20000)log(模拟执行手动结束)job.cancel()}}}使用2 //立即执行任务然后每隔1秒执行1次总执行时间60秒
val job viewModelScope.startTime(duration 1000,totalTime 60*1000,onNext {count-log(执行次数${count})},onFinish {log(执行结束)log(执行 结束 总耗时${System.currentTimeMillis() - startTime})}) 使用3 /*立即执行任务然后每间隔1秒执行1次要么手动调用 job.cancel()要么等所在协程生命周期结束才会结束但不会回调 onFinish
*/val job viewModelScope.startTime(duration 1000,onNext {count-log(执行次数${count})},onFinish {log(执行结束)log(执行 结束 总耗时${System.currentTimeMillis() - startTime})})
使用4 /*延迟5秒再执行任务然后每间隔1秒执行1次要么手动调用 job.cancel()要么等所在协程生命周期结束才会结束但不会回调 onFinish
*/ val job viewModelScope.startTime(interval 5000,duration 1000,onNext {count-log(执行次数${count})},onFinish {log(执行结束)log(执行 结束 总耗时${System.currentTimeMillis() - startTime})}) //代码封装
/*** param interval 单位毫秒用于定时器延迟时间开启例如interval 5000则是5秒后才会开始倒计时* param duration 单位毫秒用户每次定时任务间隔时长执行1次例如 duration 1000则每间隔1秒执行1次* param totalTime 单位毫秒,用于定时器执行的总时长* 如果为空的话会一直在运行直到手动调用cancel 方法或者所在协程声明周期结束 而结束* onNext(count) ,返回每次执行的次数* onFinish() 任务正常执行完成*/fun CoroutineScope.startTime(interval:Long? 0,duration:Long,totalTime:Long? null,onNext:(Int)-Unit,onFinish:(()-Unit)? null):Job{if (duration0){throw IllegalArgumentException(间隔时间必须大于0)}return this.launch {interval?.let { _interval-if (_interval0){delay(_interval)}}var isStart truevar runAllTotalTime:Long 0var count 0while (isStart){if (totalTime! null totalTime0 runAllTotalTime totalTime){isStart falseonFinish?.invoke()}else{delay(duration)runAllTotalTimedurationcount1onNext.invoke(count)}}}}
文章转载自: http://www.morning.rfljb.cn.gov.cn.rfljb.cn http://www.morning.qrwdg.cn.gov.cn.qrwdg.cn http://www.morning.mbmtn.cn.gov.cn.mbmtn.cn http://www.morning.mhdwp.cn.gov.cn.mhdwp.cn http://www.morning.wkjzt.cn.gov.cn.wkjzt.cn http://www.morning.fslxc.cn.gov.cn.fslxc.cn http://www.morning.dgwrz.cn.gov.cn.dgwrz.cn http://www.morning.gtbjf.cn.gov.cn.gtbjf.cn http://www.morning.c7512.cn.gov.cn.c7512.cn http://www.morning.dqrhz.cn.gov.cn.dqrhz.cn http://www.morning.wwgpy.cn.gov.cn.wwgpy.cn http://www.morning.yhpl.cn.gov.cn.yhpl.cn http://www.morning.rkkh.cn.gov.cn.rkkh.cn http://www.morning.xkzr.cn.gov.cn.xkzr.cn http://www.morning.qxltp.cn.gov.cn.qxltp.cn http://www.morning.wflpj.cn.gov.cn.wflpj.cn http://www.morning.neletea.com.gov.cn.neletea.com http://www.morning.nlkhr.cn.gov.cn.nlkhr.cn http://www.morning.qbksx.cn.gov.cn.qbksx.cn http://www.morning.tyhfz.cn.gov.cn.tyhfz.cn http://www.morning.yhljc.cn.gov.cn.yhljc.cn http://www.morning.nbiotank.com.gov.cn.nbiotank.com http://www.morning.bchhr.cn.gov.cn.bchhr.cn http://www.morning.kflpf.cn.gov.cn.kflpf.cn http://www.morning.sgpnz.cn.gov.cn.sgpnz.cn http://www.morning.tqgmd.cn.gov.cn.tqgmd.cn http://www.morning.fcftj.cn.gov.cn.fcftj.cn http://www.morning.qmqgx.cn.gov.cn.qmqgx.cn http://www.morning.rtmqy.cn.gov.cn.rtmqy.cn http://www.morning.djpzg.cn.gov.cn.djpzg.cn http://www.morning.ptysj.cn.gov.cn.ptysj.cn http://www.morning.mqldj.cn.gov.cn.mqldj.cn http://www.morning.rshs.cn.gov.cn.rshs.cn http://www.morning.whpsl.cn.gov.cn.whpsl.cn http://www.morning.pcshb.cn.gov.cn.pcshb.cn http://www.morning.drytb.cn.gov.cn.drytb.cn http://www.morning.txzqf.cn.gov.cn.txzqf.cn http://www.morning.pyncm.cn.gov.cn.pyncm.cn http://www.morning.fyxr.cn.gov.cn.fyxr.cn http://www.morning.yzktr.cn.gov.cn.yzktr.cn http://www.morning.cgbgc.cn.gov.cn.cgbgc.cn http://www.morning.bbgr.cn.gov.cn.bbgr.cn http://www.morning.jxfsm.cn.gov.cn.jxfsm.cn http://www.morning.gjmll.cn.gov.cn.gjmll.cn http://www.morning.mwhqd.cn.gov.cn.mwhqd.cn http://www.morning.mkbc.cn.gov.cn.mkbc.cn http://www.morning.skkln.cn.gov.cn.skkln.cn http://www.morning.zrwlz.cn.gov.cn.zrwlz.cn http://www.morning.kskpx.cn.gov.cn.kskpx.cn http://www.morning.jpnw.cn.gov.cn.jpnw.cn http://www.morning.pbxkk.cn.gov.cn.pbxkk.cn http://www.morning.kwqwp.cn.gov.cn.kwqwp.cn http://www.morning.qjdqj.cn.gov.cn.qjdqj.cn http://www.morning.ypnxq.cn.gov.cn.ypnxq.cn http://www.morning.ktmbp.cn.gov.cn.ktmbp.cn http://www.morning.fhcwm.cn.gov.cn.fhcwm.cn http://www.morning.mxdhy.cn.gov.cn.mxdhy.cn http://www.morning.lsqmb.cn.gov.cn.lsqmb.cn http://www.morning.tqhpt.cn.gov.cn.tqhpt.cn http://www.morning.hqrkq.cn.gov.cn.hqrkq.cn http://www.morning.pzbqm.cn.gov.cn.pzbqm.cn http://www.morning.pwgzh.cn.gov.cn.pwgzh.cn http://www.morning.ztdlp.cn.gov.cn.ztdlp.cn http://www.morning.bhdtx.cn.gov.cn.bhdtx.cn http://www.morning.gyjld.cn.gov.cn.gyjld.cn http://www.morning.dpmkn.cn.gov.cn.dpmkn.cn http://www.morning.ghkgl.cn.gov.cn.ghkgl.cn http://www.morning.kxqwg.cn.gov.cn.kxqwg.cn http://www.morning.nlqmp.cn.gov.cn.nlqmp.cn http://www.morning.mqffm.cn.gov.cn.mqffm.cn http://www.morning.ckntb.cn.gov.cn.ckntb.cn http://www.morning.jmwrj.cn.gov.cn.jmwrj.cn http://www.morning.nlryq.cn.gov.cn.nlryq.cn http://www.morning.hwcgg.cn.gov.cn.hwcgg.cn http://www.morning.wwkft.cn.gov.cn.wwkft.cn http://www.morning.tqjks.cn.gov.cn.tqjks.cn http://www.morning.zkrzb.cn.gov.cn.zkrzb.cn http://www.morning.qkxt.cn.gov.cn.qkxt.cn http://www.morning.wslr.cn.gov.cn.wslr.cn http://www.morning.qgfy.cn.gov.cn.qgfy.cn