我一直在我的应用程序中使用事件总线(即:greenrobot/EventBus).但我发现使用事件总线有一些缺点:
我一直在研究处理这个问题的新技术.我读了很多关于RxJava的内容,并想知道它是不是一个解决方案.
所以关于RxJava的问题(基于我最近阅读的内容):
我有以下使用泛型的代码:
abstract class Event(val name: String)
interface ValueConverter<E : Event> {
fun convert(event: E): Float
fun getEventClass(): Class<E>
}
class ValueConverters {
private val converters = HashMap<String, ValueConverter<Event>>()
fun <E : Event> register(converter: ValueConverter<E>) {
converters.put(converter.getEventClass().name, converter)
}
fun unregister(eventClass: Class<Event>) {
converters.remove(eventClass.name)
}
fun <E : Event> convert(event: E): Float {
return converters[event.javaClass.name]?.convert(event) ?: 0.0f
}
fun clear() {
converters.clear()
}
}
Run Code Online (Sandbox Code Playgroud)
但在这条线上:
converters.put(converter.getEventClass().name, converter)
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误:
类型不匹配.期望ValueConverter <Event>.找到ValueConverter <E>.
我也尝试过这样的事情:
class ValueConverters {
private val converters = HashMap<String, ValueConverter<Event>>() …Run Code Online (Sandbox Code Playgroud) 我想替换 Node JS 项目中某些第三方包中所有已弃用的方法,但我无法\xe2\x80\x99找到列出这些方法的简单方法。我搜索了 Node JS CLI 文档,但无法\xe2\x80\x99 找到执行此操作的确切命令。Node JS CLI 中是否有命令可以实际执行此操作?或者是否有标准做法来替换第三方库中已弃用的方法?
\n