我想在 Purescript 中调用 navigator.geolocation.getCurrentPosition
JavaScript 函数,但是我遇到了两个问题。
在 JavaScript 中,可以使用如下代码进行调用:
navigator.geolocation.getCurrentPosition(function(position) { ... });
位置是一个对象。
首先,我不知道返回类型应该是什么,因为它不返回任何内容,而是调用回调函数。
其次,我不知道用什么类型来使用回调函数,因为该函数不能是纯函数,因为它的结果不会被返回。
到目前为止,我的翻译如下:
foreign import geolookup "function (callback) {\
navigator.geolocation.getCurrentPosition(callback);
\}" :: forall eff a. Eff (geolookup :: GeoLookup | eff) {}
geolookup \position -> ...
所以这里我的外部函数类型签名是forall eff a. Eff (geolookup :: GeoLookup | eff) {}
,但我知道在Eff之前也应该有一个回调参数。我只是不确定如何编写类型签名或实现它。