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

免费网站客服系统app开发费用标准

免费网站客服系统,app开发费用标准,南京有关制作网站的公司,初中做历史的网站案例代码:https://gitee.com/bobidali/lite-rx-java/commit/292e9227a5491f7ec6a07f395292ef8e6ff69290 RxJava 的调用第一步是封装了观察者接受了数据的处理,进一步就是使用 map 将数据操作传递给上下游 1、类似Observer.create 创建一个简单的观察者…

案例代码:https://gitee.com/bobidali/lite-rx-java/commit/292e9227a5491f7ec6a07f395292ef8e6ff69290

RxJava 的调用第一步是封装了观察者接受了数据的处理,进一步就是使用 map 将数据操作传递给上下游

1、类似Observer.create 创建一个简单的观察者

abstract class Single<T> : SingleSource<T> {companion object {@JvmStaticfun <T> just(item: T): Single<T> {return RxJavaPlugins.onAssembly(SingleJust(item))}}override fun subscribe(observer: SingleObserver<in T>) {Objects.requireNonNull(observer, "observer is null")try {var obsv = observerobsv = RxJavaPlugins.onSubscribe(this, obsv)subscribeActual(obsv)} catch (e: NullPointerException) {throw e} catch (e: Throwable) {throw NullPointerException("subscribeActual failed").initCause(e)}}protected abstract fun subscribeActual(observer: SingleObserver<in T>)
}
class SingleJust<T>(private val value: T) : Single<T>() {override fun subscribeActual(observer: SingleObserver<in T>) {observer.onSubscribe(Disposable.disposed())observer.onSuccess(value)}
}

2、在SingleObserver 中加入map 方法实现数据的承上启下

    fun <R> map(mapper: com.example.literj.kt.internal.functions.Function<in T, out R>): Single<R> {Objects.requireNonNull(mapper, "mapper is null")return RxJavaPlugins.onAssembly(SingleMap(this, mapper))}
class SingleMap<T, R>(private val source: SingleSource<out T>,private val mapper: Function<in T, out R>
) : Single<R>() {override fun subscribeActual(observer: SingleObserver<in R>) {source.subscribe(MapSingleObserver(observer, mapper))}internal class MapSingleObserver<T, R>(private val t: SingleObserver<in R>,private val mapper: Function<in T, out R>) : SingleObserver<T> {override fun onSuccess(t: T) {val v: Rtry {v = Objects.requireNonNull(mapper.apply(t),"The mapper function returned a null value.")} catch (e: Throwable) {onError(e)return}this.t.onSuccess(v)}override fun onSubscribe(d: Disposable) {t.onSubscribe(d)}override fun onError(e: Throwable) {t.onError(e)}}
}

3、铛铛,完成,看看调用案例

    public static void sample3() {String tag = "sample3";Log.d(TAG + " " + tag, "start");Single.just(777).map(data1 -> 777).map(data2 -> 888).subscribe(getSingleObserver(tag));}
2023-08-13 11:58:23.703 21522-21522/com.example.literj D/RxJavaTestUtil sample3: start
2023-08-13 11:58:23.713 21522-21522/com.example.literj D/RxJavaTestUtil sample3: onSubscribe
2023-08-13 11:58:23.713 21522-21522/com.example.literj D/RxJavaTestUtil sample3: onSuccess = 888

ok,那么下一篇就加入线程切换

http://www.khdw.cn/news/18591.html

相关文章:

  • 网站运营规划关键词排名怎么做好
  • 云服务器安装win系统做网站网页设计论文
  • 做网站 php和javaseo工程师
  • 怎么创建公司网站空间企业网站优化服务公司
  • 西樵建网站谷歌搜索引擎网页版入口
  • 本地门户网站源码快速排名服务平台
  • 温州网站建设公司排名百度一下官网首页下载
  • 深圳市疫情最新消息seo软件优化工具软件
  • 网站建设与网页设计案例教程代写文章
  • 做演讲视频的网站网站seo优化发布高质量外链
  • 江西宜春市建设局网站济南网站优化公司哪家好
  • 网站案例响应式本地网络seo公司
  • 网站建设 犀牛seo教程网站优化推广排名
  • wordpress左边栏轻松seo优化排名 快排
  • shopify建站费用怎么从网上找国外客户
  • 查企业免费百度seo收录软件
  • 手机网站建设企业seo专员的工作内容
  • 福田蒙派克空调滤芯安装位置图seo兼职平台
  • wordpress版主seo搜索推广
  • 个人博客网站开发历程百度如何优化
  • 淄博市淄川疫情最新情况seo搜索引擎优化排名
  • 网页界面设计总结与体会seo查询排名系统
  • 局域网及网站建设内容好看的seo网站
  • 滨江做网站百度招商客服电话
  • 怎么样在网上卖东西seo综合检测
  • 鞍山百姓网深圳seo
  • 做网站用html5问卷调查网站
  • 深圳云购网站制作南安seo
  • 常熟做网站优化德阳seo
  • 番禺做网站开发网站优化推广方案