的代码片段,以打字稿

的代码片段,以打字稿

问题描述:

不明白如何structurize这个Java代码打字稿工作(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); 

它编译成功,没有错误发生,但我没有得到我的回调,当我加入该频道。

任何洞见赞赏!

- UPDATE 原来我正确地做了,连接问题在其他地方撒谎,谢谢所有谁投入! :)

+0

@Weedoze用户正在通过JavaScript/TypeScript API使用Java/Android库,这在NativeScript中很常见 – pkanev

+1

@Weedoze使用NativeScript可以访问Java库并使用编组可以使用相同的库编写JavaScript代码。您也可以对iOS的Objective-C API执行相同的操作。 –

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

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

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

我想补充尼克伊利耶夫的回答

正确的方式来扩展接口的问题是以下

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

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

+0

您是否可以确认您是否正确地遵循了所有指示,直到附加回调?您还可以验证连接是否确实与后端建立了关系? – pkanev