だからこれは奇妙なものです。私のコードは、説明するのが難しいことをたくさん行っています (ただし、必要に応じて説明しようとします) が、次のように動作します。
var res = data.delete_if (function(key, value) { return key == "a"; })
しかし、次のクラッシュ:
data.delete_if (function(key, value) { return key == "a"; })
そのため、delete_if 関数の結果を保存しないと、ブラウザーがクラッシュし、次のスタック トレースが表示されます。
Error: test: B environment should proxy a Ruby hash. (MDArraySolTest): Java::JavaLang::IllegalStateException: Channel stream was closed before response has been received.
java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:498) org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(org/jruby/javasupport/JavaMethod.java:453)
なぜこれが起こるのかについてのアイデアはありますか?解決策はありますか?必要に応じて、さらに情報を提供できます。
EDIT1:
さらにいくつかのテストを行ったところ、data.delete_if への呼び出しがスクリプトの最後のステートメントである場合にのみエラーが発生することがわかりました。たとえば、追加すると: console.log(""); 電話の後、すべてが正常に機能します。
ありがとう