2

所以这是一个奇怪的问题。我的代码做了很多难以解释的事情(但如有必要,我会尝试解释),但以下工作:

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)

关于为什么会发生这种情况的任何想法?有什么解决办法吗?如果需要,我可以提供更多信息。

编辑1:

进行更多测试后,我发现仅当对 data.delete_if 的调用是脚本上的最后一条语句时才会发生错误。如果我添加例如:console.log(""); 通话后,一切正常。

谢谢

4

0 回答 0