当前位置: 首页 > news >正文

b2b网站如何做深圳网络营销推广渠道

b2b网站如何做,深圳网络营销推广渠道,财政局网站建设方案,wordpress help sheet满足延迟执行、立即执行,每次任务间隔时长,总时长的任务 使用1 class TimeViewModel:Viewmodel(){//测试延迟5秒开始执行任务,然后每隔1秒执行1次,总执行时间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 (duration<=0){throw IllegalArgumentException("间隔时间必须大于0")}return this.launch {interval?.let { _interval->if (_interval>0){delay(_interval)}}var isStart = truevar runAllTotalTime:Long = 0var count = 0while (isStart){if (totalTime!= null && totalTime>0 && runAllTotalTime>= totalTime){isStart = falseonFinish?.invoke()}else{delay(duration)runAllTotalTime+=durationcount+=1onNext.invoke(count)}}}}

http://www.dinnco.com/news/28547.html

相关文章:

  • 借助开源系统快速建实用网站bt磁力搜索神器
  • 网页设计文案seo优化技术是什么
  • 开发公司能否以办理完土地证后seo常用工具
  • 做盗版频网站深圳疫情最新消息
  • 网站开发项目总结报告网站建设与管理
  • 17zwd一起做网店潮汕站营销策略包括哪些内容
  • 12306网站能不能用银河二计算机做服务器啊慢得要死徐州seo管理
  • 网站内容维护费用西安百度网站快速优化
  • 长沙建网站设计视频剪辑培训班一般学费多少
  • 网站建设的心得与体会网页广告怎么投放
  • 个人博客网站制作教程百度公司注册地址在哪里
  • 做外包哪个网站好一些seo的方法有哪些
  • 一个做二维码问卷调查的网站如何在手机上制作网站
  • 品牌网站的愿望清单怎么做长春seo按天计费
  • wordpress主题 幻灯什么是seo优化推广
  • 怎么在网站上做推谷歌推广技巧
  • wap网站推荐seo免费优化公司推荐
  • 移动网站seo免费涨粉工具
  • 广东网站建设发信息51链
  • 动态网站建设步骤谷歌推广运营
  • 大理网站制作公司网站开发软件
  • 网站落地页怎么做网络营销策划方案800字
  • 深圳seo网站建设郑州网站推广公司
  • 学校网站的图片轮播怎么做自然搜索优化
  • 公司网站 优帮云腾讯云服务器
  • 成都正规小程序开发公司百度移动端优化
  • 企业网站建设需要哪些步骤网络销售
  • 网站如何做百度搜索优化网站自助建站系统
  • 北京微网站宁波做网站的公司
  • 临海市住房与城乡建设规划局网站手机优化软件下载