ClojureScript 中通道的多个侦听器/go 块
Multiple listeners / go blocks for channel in ClojureScript
在 ClojureScript 中给定一个通道
(def navigation (chan))
是否可以有多个 go 块从中提取值?例如
(go
(while true
(secretary/dispatch! (<! navigation))))
(go
(while true
(println (<! navigation))))
将值放入:
(put! channels/navigation "/styles")
这似乎不起作用,只在第一个 Go 块中执行。这是一个人为的例子,但我确实想使用这种模式让多个侦听器从 socket.io 服务return JSON 接收一个频道。
在 ClojureScript 中给定一个通道
(def navigation (chan))
是否可以有多个 go 块从中提取值?例如
(go
(while true
(secretary/dispatch! (<! navigation))))
(go
(while true
(println (<! navigation))))
将值放入:
(put! channels/navigation "/styles")
这似乎不起作用,只在第一个 Go 块中执行。这是一个人为的例子,但我确实想使用这种模式让多个侦听器从 socket.io 服务return JSON 接收一个频道。