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

长治网站建设官方百度app下载

长治网站建设,官方百度app下载,常州金坛网站建设,现在有什么网站可以做兼职的Kotlin协程flow发送时间间隔debounce debounce的作用是让连续发射的数据之间间隔起来。典型的应用场景是搜索引擎里面的关键词输入,当用户输入字符时候,有时候,并不希望用户每输入任何一个单字就触发一次后台真正的查询,而是希望…

Kotlin协程flow发送时间间隔debounce

debounce的作用是让连续发射的数据之间间隔起来。典型的应用场景是搜索引擎里面的关键词输入,当用户输入字符时候,有时候,并不希望用户每输入任何一个单字就触发一次后台真正的查询,而是希望用户在输入一定时间间隔后(猜测此时用户已完成完整关键词的输入),才真正发送最后一次的输入。debounce蕴含了一定的缓冲思想,即,不立刻触发事件,而是先把要发射的数据进入队列,稍等一定时间(时间)延迟触发,而触发的重要条件取决于前一条数据和后一条数据的时间间隔,注意,前一条和后一条尚未被发射出去,只是待命中。如果连续两次间隔时间满足timeOut,只保留最后一条数据。

 

import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.*
import kotlinx.coroutines.runBlockingfun main(args: Array<String>) {val timeOut = 100LrunBlocking {val result = userInput().debounce(timeOut).collect {println(it)}}
}fun userInput() = flow {emit("A")delay(100)emit("AB")delay(150)emit("ABC")delay(200)emit("ABCD")delay(100)emit("ABCDE")
}

 

当timeOut=100

AB
ABC
ABCD
ABCDE

A和AB都待发射,A和AB间隔100,所以跳过A,直接发射AB。

发射完AB后,由于ABC与之前的AB间隔超过100,继续发射。

 

 

 

 

当timeOut=150,比较难理解。

AB
ABC
ABCDE

A待发射,Kotlin发现A与AB间隔才100,所以舍弃A,Kotlin发现从A开始到AB之后的ABC,AB的等待时间超过150,且之前的A没有发射,所以发射AB。

发射完AB,下一个ABC与AB之间间隔150,且ABC与其后仍有时间间隔,继续发射ABC。

发射完ABC,Kotlin审视待发射的ABCD,按理说ABCD与ABC间隔200,满足发射timeOut值,但是ABCD与ABCDE间隔100,所以跳过ABCD,直接发射ABCDE。这里特别注意,Kotlin发射当前数据时候,是要把这条数据的前一条、后一条都拉通看的。

 

 

 

当timeOut=200

ABC
ABCDE

A与AB间隔100,舍弃A。而AB与之前的A间隔100,与之后的ABC间隔150,小于timeOut值,舍弃。ABC与之前的AB有时间间隔,与之后的ABCD间隔刚好等于timeOut值,所以发射。

 

 

 

当timeOut=250

ABCDE

 

简单的说,Kotlin用debounce发射当前数据时候,这个数据的前一条数据和后一条数据必须满足时间间隔才能发射,否则舍弃。

 

Kotlin协程flow,firstOrNull只要最先first,lastOrNull只要最后_zhangphil的博客-CSDN博客firstOrNull() //虽然发射很多数据,但只要第1次发射过来的数据。.lastOrNull() //虽然发射很多数据,但只要最后1次发射过来的数据。emit(i)delay(10)kotlin协程flow任务意外结束未emit数据retryWhen onEmpty(5)_zhangphil的博客-CSDN博客一、flow ,emit,onCompletion,collect。https://blog.csdn.net/zhangphil/article/details/132492588kotlin协程flow filter map flowOn zip combine(1)_zhangphil的博客-CSDN博客一、flow ,emit,onCompletion,collect。四、map,重组改写数据。八、conflate 合并。九、debounce去重。二、函数作为flow。https://blog.csdn.net/zhangphil/article/details/130084723

 

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

相关文章:

  • 素马网站建设费用差距上海专业seo
  • 怎么自己做淘宝客网站吗网店seo排名优化
  • 一级a做爰片免费网站偷拍厕所百度卖货平台
  • dw做的网站怎么发布到网上seo日常工作
  • jsp网站开发学习心得微信广告朋友圈投放
  • 广州花都区廊坊seo优化
  • 投票活动网站怎么做seo关键词分类
  • 网站怎么做的南宁市优化网站公司
  • 网站下雪的效果怎么做的百度快照优化排名
  • 作品集模板网站棋牌软件制作开发多少钱
  • 网站备案会过期吗广州推广优化
  • 建设一个电子商务网站win7优化大师
  • 找谁做网站网络安全培训机构哪家好
  • 网站建设企业网站制作电商网站设计方案
  • 做58网站怎么赚钱吗免费seo优化
  • 南宁网站建设 传导虎扑体育网体育
  • 成都私人网站制作seo网站结构优化的方法
  • 天猫网站是用什么技术做的自媒体seo优化
  • 做独立网站需要注意些什么重庆黄埔seo整站优化
  • 旅游电子商务网站开发实验报告沈阳网站制作
  • 提供免费网站建设品牌推广的三个阶段
  • 公司网站制作服务深圳网络优化seo
  • 宁波网页关键词优化公司小红书seo优化
  • 赚钱的网站做任务百度站长收录入口
  • 网站制作替我们购买域名什么是搜索引擎营销?
  • wordpress安装包下载荥阳seo
  • 可以设计什么网站广西壮族自治区人民医院
  • 哪个网站做的游戏好玩四川网络推广推广机构
  • 上哪儿找做网站百度推广怎么做的
  • 做网站项目时 需求分析的内容百度快照官网