加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

用于Scala延续

发布时间:2020-12-16 09:35:41 所属栏目:安全 来源:网络整理
导读:人们在Scala中越来越多地使用延续性的人? Scala标准库的任何部分都是用CPS编写的? 使用延续是否有重大的性能处罚? 解决方法 我正在使用它来转换def func(…)形式的异步函数(followup:Result = Unit):Unit,因此不是写 foo(args){result1 = bar(result1)
人们在Scala中越来越多地使用延续性的人?

Scala标准库的任何部分都是用CPS编写的?

使用延续是否有重大的性能处罚?

解决方法

我正在使用它来转换def func(…)形式的异步函数(followup:Result => Unit):Unit,因此不是写

foo(args){result1 => 
  bar(result1){result2 => 
     car(result2) {result3 =>
       //etc.
     }
  }
}

你可以写

val result1 = foo(args)
val result2 = bar(result1)
val result3 = car(result2)

要么

car(bar(foo(args)))

(注意:函数不限于一个参数或仅将以前的结果用作参数)

见http://www.tikalk.com/java/blog/asynchronous-functions-actors-and-cps

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读