2018-05-03 fwt の定期撮影をつくった / 『ガーディアンズ・オブ・ギャラクシー : リミックス』を観た
fwt (private) 。定期的な撮影機能を追加し、見た目も無駄な要素を隠すようにした。事前にユーザー登録 (ハードコーディング) さえしておけば、だいたい使えるようになった。あとはそのユーザー設定の読み込みとデプロイ設定をすれば公開だな。
Component の server-side rendering は方法がよく分からなかったので、後回しにした。
今日は「定期的な撮影機能」のために purescript-halogen の EventSource
を使った。
SignIn
Query の eval
にて↓のような形で setTimeout
をソースとする EventSource
を作成し、それを subscribe
する。 Tick
Query が発行されるので、そこで必要ならまた EventSource
を……という流れ。これでいいのか、よく分からない。 Halogen はまだ分からないことが大量にある……。
data Query a
= SignIn a
| Tick (SubscribeStatus -> a)
SignIn next -> do
H.subscribe $
HES.eventSource_'
(\e -> do
id <- setTimeout 1000 e
pure $ void $ clearTimeout id
)
(H.request Tick)
pure next
Tick next -> do
-- 実際には↓を実行するかの分岐や本来の処理が入る
H.subscribe $
HES.eventSource_'
(\e -> do
id <- setTimeout 10000 e
pure $ void $ clearTimeout id
)
(H.request Tick)
pure $ next HES.Done
明日にはひとまず公開まで持っていきたいところ。
『ガーディアンズ・オブ・ギャラクシー : リミックス』を観た。例によって音楽で軽い雰囲気をつくっている。今度のグルートは小さい。今回はどこに話が着地するのか最初よく分からなかったのだけど、主人公の父親を中心とした話だった。