什么叫做回调函数
文章目录 一、前言二、代码示例1、callbackFlow2、suspendCancellableCoroutine3、CompletableDeferred 三、参考链接
一、前言
在kotlin中,语言将程序进行了结构化处理,提高了可读性,对于旧的程序逻辑也提供了转换操作,这里记录下如何将回调转为Flow流,优化程序结构
二、代码示例 1、callbackFlow
这里演示callbackFlow
的使用方式。callbackFlow
属于多次回调可以重复触发,由于内容不是使用Channel
进行通信,所以可以使用Channel
的相关函数。
interface Listener{
fun listener()
fun end()
}
inner class TouchModel{
private var listener: Listener ?= null
fun registerListener(sourceListener: Listener){
listener = sourceListener
}
fun unregisterListener(){
listener = null
}
fun emit(){
listener?.listener()
}
fun end(){
listener?.end()
}
}
@Test
fun test(){
val mo