gpt4 book ai didi

javascript - GHCJS:如何使用 FFI 导入高阶 javascript 函数?

转载 作者:行者123 更新时间:2023-12-03 13:35:20 25 4
gpt4 key购买 nike

如何在 GHCJS 中导入如下 Javascript 函数?

xs.subscribe(function(x) { console.log(x) })

我尝试了以下各种组合但没有成功:
data Observable_
data Disposable_

type Observable a = JSRef Observable_
type Disposable = JSRef ()

foreign import javascript unsafe "$1.subscribe($2)"
rx_subscribe :: Observable a -> JSRef (a -> IO()) -> IO Disposable

感谢您提供任何帮助,并提供 GHCJS FFI 文档的链接。

谢谢

最佳答案

感谢 GHCJS IRC channel 上的人,我得到了答案:

foreign import javascript safe "$1.subscribe($2)"
rx_subscribe :: Observable a -> JSFun (a -> IO()) -> IO Disposable

subscribe :: FromJSRef a => (a -> IO()) -> Observable a -> IO Disposable
subscribe f xs = syncCallback1 True True f' >>= rx_subscribe xs
where f' x = fromJSRef x >>= f . fromJust

谢谢你

关于javascript - GHCJS:如何使用 FFI 导入高阶 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19415306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com