关于CoroutineContext的这3个方法能解释一下吗


#1

fold和plus应该是保存上下文关系,但是没看懂是如何保存的,也没看懂为什么要调用minusKey来减掉相同的Key


#2

协程context是个非常fp的、有头(head)有尾(tail)的list,换个比较通俗的词语来讲就是 单 向 链 表

fold就是非常fp的对list进行遍历的函数,就是遍历而已,不会对list进行修改。

plus就是用于链接两个list的函数,返回一个新的list,不会对原来的两个list进行修改。

但是plus需要保证最终的结果里key不会重复,所以需要使用minusKey来去重。


#3

谢谢夜雀妹妹解答,mua~


京ICP备16022265号-2 Kotlin China 2017 - 2018