Для вяза 0.16, я определил некоторые порты (которые только Signal
данных) без основной функции и используется Signal.map
для обработки данных туда и обратно. Это просто для обработки данных, вызванной из nodejs (не из браузера), , поэтому я не могу зависеть от модуля Html
.Как создать рабочий с вязом 0,17
Сейчас вяз 0,17 имеет Cmd
и Sub
вместо Signal
, я не могу понять, как сделать то же самое ...
Кто-нибудь может дать мне простой пример, чтобы сделать обработку ДАННЫЕ через порты выставляемых worker
инициализации с вязанием 0,17?
Вот мой простой пример с Elm 0.16 ...
вяза 0,16 Код:
module Main where
import Signal
import String exposing (isEmpty, reverse)
-- input ports
port jsToElm : Signal String
-- output ports
port elmToJs : Signal String
port elmToJs
= Signal.map String.reverse jsToElm
Javascript (ES6) Код:
/** main */
const Elm = loadElm('./index.js') // custom function to eval Elm code
const app = Elm.worker(Elm.Main, { jsToElm: ''})
app.ports.jsToElm.send('test')
app.ports.elmToJs.subscribe((txt) => {
console.log(txt)
})
Благодарим вас за помощь. Грустно видеть, что мы должны сейчас использовать уродливую работу. Надеюсь, он будет исправлен. Еще раз спасибо. – Tosh