从java到typescript

时间:2016-11-22 07:35:52

标签: javascript java typescript nativescript

不要理解如何将此java代码结构化以使用typescript(javascript):

channel.join().receive("ok", new IMessageCallback() {
    @Override
    public void onMessage(Envelope envelope) {
        System.out.println("JOINED with " + envelope.toString());
    }
});

此处的代码:https://github.com/eoinsha/JavaPhoenixChannels

正在考虑这样的事情:

var phoenix = (org as any).phoenixframework.channels;
var callback = new phoenix.IMessageCallback({
    onMessage: function (arg) {
        console.log('callback');
    }
});

channel.join().receive("ok", callback);

它成功编译并且没有抛出任何错误,但是当我加入频道时,我没有收到回叫。

任何见解都表示赞赏!

- 更新 事实证明我正确地做到了,在别处撒谎的问题,感谢所有投入的人! :)

2 个答案:

答案 0 :(得分:3)

如果要实现Java接口,可以使用以下语法。

var clickListener = android.view.View.OnClickListener({
    onClick: function (view) {
        // Do something on click
    }
});

您可以参考有关Android运行时和数据转换技术的documentation article

答案 1 :(得分:2)

我想补充Nick Iliev的回答

扩展相关接口的正确方法如下

var callback = new org.phoenixframework.channels.IMessageCallback({
    onMessage: function (arg) {
        console.log('callback');
    }
});

您需要指定完整的类名,包括包+类名(org.phoenixframework.channels + IMessageCallback)