香草中的榆树信号 JavaScript?
Elm Signals in Vanilla JavaScript?
我知道可以在 vanilla JS 中实现信号/可观察对象/流,因为 Elm 可以编译回 JS。
任何人都可以提供一个信号转换成 JS 的例子吗?它必须使用回调结构吗?例如,Elm 将其翻译成什么?
main =
Signal.map show Mouse.position
你放的简单代码并没有转化为简单的JS回调结构。 Elm 运行时比这稍微复杂一点。但是,如果你真的想获得更好的理解,你可以看看Native implementation of Signal。
以一种非常粗略的方式,您可以认为这等同于:
document.onmousemove = handleMouseMove;
function handleMouseMove(event) {
//...extract x and y from event somehow
show([x, y])
}
但是 Elm 中发生了很多事情,它与 RXjs 中的可观察对象更加相似 https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/observable.md
我知道可以在 vanilla JS 中实现信号/可观察对象/流,因为 Elm 可以编译回 JS。
任何人都可以提供一个信号转换成 JS 的例子吗?它必须使用回调结构吗?例如,Elm 将其翻译成什么?
main =
Signal.map show Mouse.position
你放的简单代码并没有转化为简单的JS回调结构。 Elm 运行时比这稍微复杂一点。但是,如果你真的想获得更好的理解,你可以看看Native implementation of Signal。
以一种非常粗略的方式,您可以认为这等同于:
document.onmousemove = handleMouseMove;
function handleMouseMove(event) {
//...extract x and y from event somehow
show([x, y])
}
但是 Elm 中发生了很多事情,它与 RXjs 中的可观察对象更加相似 https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/observable.md