【问题标题】:Javascript - How to handle java method call return?Javascript - 如何处理 java 方法调用返回?
【发布时间】:2017-11-23 13:07:24
【问题描述】:

又一个 javascript 集成问题。我不知道如何从我的 java 方法返回一个值以在 javascript 代码中使用它。你能帮忙吗?

        {
            //My java method
            JSObject dataObj = (JSObject) ctx.get("{}");
            dataObj.set("length", new JSFunction() {
                @Override
                public void apply(JSObject self, Object[] args) {
                    /*
                        Here, say I want to return the string length.
                        return args[0].toString().length();
                    */
                }
            });
            ctx.set("window.java", dataObj);
        }
        {
            String fn = "{ uf : function(a){ var l = java.length(a);}}";
            JSObject obj = (JSObject) ctx.get(fn);
            Object result = obj.call("uf", new Object[] {"Hello"});
        }

非常感谢。

E

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    来自JSFunction 的 JavaDocs:

    如果您需要 Javascript 的返回值,您可以通过传递一个由 JSFunction 使用一些参数调用的回调函数来实现。

    这并不理想,但我不确定是否有解决方法,因为数据传输可能是异步的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多