0

opal-jquery ラッパーを使用して、複数の jQuery イベントを連続して処理するプロジェクトに取り組んでいます。jQuery には非常に効果的なコールバック機能があり、Opal を使用して純粋な Ruby でこれを行うことができるかどうか疑問に思っています。

4

1 に答える 1

0

長期的な非同期イベントを管理し、コールバック地獄を回避する手法であるPromiseを使用できます。通常の Opal では、たとえば次のようにします。

HTTP.get("url") do |response|
  puts "got response"
end

promise を使用すると、次のようになります。

HTTP.get("url").then do |response|
  puts "got response"
end

違いはthen、 Promise を返す にあります ( http://opalrb.org/docs/promises/を参照)。HTTP get がコンテンツ (またはエラー) を返すと、コード ブロックが実行されます。

また、opal-jquery で promise を使用する方法については、この記事を確認してください。

http://opalrb.org/blog/2014/05/07/promises-in-opal/

于 2015-05-05T17:29:47.440 に答える