小编der*_*itz的帖子

如何在 snaplet 中使用 Network.WebSockets.Snap?

能够Network.WebSockets从 snaplet 内部使用该模块会很好,但我不知道如何实际操作。

使用它的runWebSocketsSnap :: MonadSnap m => ServerApp -> m ()函数Network.WebSockets.Snap很容易在我的应用程序中包含一个简单的无状态 websocket 服务器:

routes :: [(ByteString, Handler App App ())]
routes = [ ("/ws", runWebSocketsSnap wsApp) ]

wsApp :: PendingConnection -> IO () -- this is the ServerApp type
wsApp pending = do
    conn <- acceptRequest pending
    forever $ do
        msg <- receiveData conn
        sendTextData conn ("Echo " `mappend` msg :: Text)
Run Code Online (Sandbox Code Playgroud)

但我的目标是维护 webscket 服务器的状态(例如,已连接客户端的列表,如http://jaspervdj.be/websockets/example.html)。或者,进入 snaplet 的酸状态存储会很好。

我的第一个想法是liftIO将 websocket …

haskell websocket haskell-snap-framework acid-state

5
推荐指数
1
解决办法
561
查看次数

在 purescript-halogen 中创建后自动聚焦输入元素

我正在使用 purescript-halogen 来构建一个类似电子表格的表格(类似于Handsontable)。如果您双击一个单元格,一个 html 输入元素将呈现为相应表格单元格的子元素(并且不会为所有其他单元格呈现此类元素)。

这对卤素非常有效,只是我不知道如何自动将焦点设置到新创建的输入元素。

我尝试了该autofocus属性,但这仅适用于双击的第一个单元格。JavaScript 的focus()方法是在新元素上调用该方法,但是我不知道在卤素中更新 DOM 后如何调用它。有任何想法吗?

purescript halogen

3
推荐指数
1
解决办法
437
查看次数