不要理解如何将此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);
它成功编译并且没有抛出任何错误,但是当我加入频道时,我没有收到回叫。
任何见解都表示赞赏!
- 更新 事实证明我正确地做到了,在别处撒谎的问题,感谢所有投入的人! :)
答案 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)