的代码片段,以打字稿
问题描述:
不明白如何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 原来我正确地做了,连接问题在其他地方撒谎,谢谢所有谁投入! :)
答
如果要实现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
@Weedoze用户正在通过JavaScript/TypeScript API使用Java/Android库,这在NativeScript中很常见 – pkanev
@Weedoze使用NativeScript可以访问Java库并使用编组可以使用相同的库编写JavaScript代码。您也可以对iOS的Objective-C API执行相同的操作。 –