callbackFlow与suspendCancellableCoroutine的使用

本文解释了Kotlin的callbackFlow与suspendCancellableCoroutine在处理回调上的差异,强调了根据业务逻辑选择合适函数的重要性,以`DownloadCallback`为例说明多次回调和单次回调的区别。
部署运行你感兴趣的模型镜像

先贴出官方对此的api链接:

https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/callback-flow.html

其实两者在使用上的区别,说白了就一句话:

Example of usage that converts a multi-shot callback API to a flow.
For single-shot callbacks use suspendCancellableCoroutine.

明白了吧。
Hmm…

翻译过来就是:

如果是多次回调就用callbackFlow,一次回调就用suspendCancelableCoroutine

那什么又是多次回调?一次回调?其实很简单,举个例子:

//多次回调
val download = object: DownloadCallback{
	fun onDownloadProcess(process: Int) {
		//下载进度会多次通过该方法回调
	}
}

通过上面的例子,很容易理解这里所说的多次和单次回调,所以在实际使用当中应根据具体业务逻辑合理选择。

您可能感兴趣的与本文相关的镜像

Yolo-v8.3

Yolo-v8.3

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值