假设您正在使用第三方Java API,它通过回调异步流式传输数据。 如果我们在Scala中使用这样的API,我们会有哪些(基本的)设计选项?我是该语言的新手。这就是我的想法:
isAvailable
)答案 0 :(得分:1)
- 从野外提供Scala函数以用作回调(例如创建一些包含回调函数的对象)
醇>
是。您应该使用Scala 2.12,将Scala函数编译为Java SAM,您可以将它们粘贴到Java API中。
- 我们可以选择让此对象向Akka actor发送消息(传递数据)。通过这种方式,我们可以为演员系统提供动力 输入数据。
醇>
是的,你可以。这不是1的替代品,你可以在1中提到的功能中做些什么。
- 数据打包 - 案例类......但请记住数据源自Java函数。是我们对Scala回调的唯一选择 使用多个参数(字符串,整数,双精度数)接收原始数据 在打包案例类实例之前?
醇>
不确定我理解。您想要放入一个期望与提供的类型不同的函数吗?在你的API中,你的API需要一个带有3个参数的回调处理程序,而你想提供一个带一个参数的案例类?我有一种感觉不会起作用。我宁愿在函数中实例化case case。