最近、私はいくつかの JavaScript コードを Fay に移植することに決めました。これにより、型の正確性を保証し、きちんとした方法で非同期を処理できるように (また、実験することもできます)。並列 ajax 呼び出しを同期することだけを目的とした JavaScript オブジェクトをいくつか作成しました。私はHaskellを初めて使用します。
Fay では、いくつかの ajax 呼び出しを開始し、たとえばControl.Monad.Parallel.sequenceを使用してそれらを同期させたいと考えていました。ただし、 fay-jquery AJAX 関数は成功/失敗コールバックのモナドを返さず、fay スナップレットのこの例も返さないため、私は立ち往生しており、ガイダンスが切実に必要です。それらはすべて、レイジーな haskell 呼び出しを厳密な javascript ステートメントにシーケンス処理するためのように見える Fay () モナドを返します。 AJAX リクエストをオフにすると、2 つの異なるアクションが発生します。
これについて多くの質問があります:
- 継続モナドは私が探しているものですか?
- Fay で動作し、このモナドを非同期 JavaScript に使用するモジュールはありますか?
- fay-jquery の AJAX 関数の副作用は、返された Fay() の後にバインドまたはシーケンスされたものの後に発生するため、関数は不純になりますか?
- Fay リポジトリに継続モナドがあることに気付きました- Fay 自体で使用されていないのはなぜですか? 私が見つけることができる唯一のものは、 async node.js fs calls をラップするこの要点です。
回答をいただければ幸いです。彼らは、このことについての私の不安定な理解を大いに助けてくれるでしょう.