我在@JsFunction部分试过了文档https://docs.google.com/document/d/10fmlEYIHcyead_4R1S5wKGs1t2I7Fnp_PaNaa7XTEk0/edit# 中的例子,但它只给出了从javascript调用java函数的方法。如何使用jsInterop从GWT调用JavaScript函数?
我已经列入我用下面的代码GWT应用程序的JavaScript文件:
var client = new Circuit.Client({
client_id: '78cafde2f6854ad5ad80a67c532687bc',
scope: 'READ_USER_PROFILE,READ_CONVERSATIONS',
domain: 'circuitsandbox.net'
});
function startLogon() {
client.logon()
.then(user => console.log('Logged on as ' + user.displayName))
.then(client.addEventListener('itemAdded', item => console.log('itemAdded event received:', item)))
.then(client.getConversations)
.then(conversations => {
console.log('Retrieved ' + conversations.length + ' conversations');
return client.addTextItem(conversations[0].convId, 'Hello World');
})
.then(item => console.log('Msg sent on ' + (new Date(item.creationTime)).toString()))
.catch(console.error);
}
现在我想调用的函数“startLogon()” - 我是用包装材料 - 使用jsInterop我的应用程序注释。我想这两个下面的例子没有任何成功:
Implement Javascript Function Callback with GWT JsInterop
JsInterop wrapping a javascript function property
我不得不说,我的JavaScript的知识是非常糟糕的。
有人可以给我一个代码示例吗? 非常感谢提前!
@EJoshuaS因为GWT将Java编译成可比较的JS,这就是问题所在。 –
你能澄清一下返回值是什么吗?这是一个Promise,你会在你的Java代码中使用吗?或者你会在Java中调用'startLogon()'然后完成? –