所以这是一个奇怪的。我的代码做了很多难以解释的事情(但如果有必要,我会尝试解释),但以下工作:
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(“”);通话结束后,一切正常。
由于