gpt4 book ai didi

GWT/JSNI 这个。未替换为对实例的引用

转载 作者:行者123 更新时间:2023-12-01 16:29:10 26 4
gpt4 key购买 nike

我在 GWT 类中有以下代码:

private native JavaScriptObject getRequest() /*-{
var request = ...;

request.onOpen = function(response) {
this.@com.mdarveau.fnp.client.Client::onOpen(Lcom/mdarveau/fnp/client/Response;)(response);
};

return request;
}-*/;

void onOpen( Response response ) {
Window.alert( "Got response " + response );
}

但是,当调用与 request.onOpen 关联的函数时,“this 变量”不会替换为对已编译 GWT 类的引用。使用 chrome javascript 控制台和调试器,我看到它看起来像是对 request 对象的引用。

知道为什么吗?我也加载了 jquery,会不会有冲突?

最佳答案

明白了:您需要在 native 代码中获取对 this 的引用,然后在 function block 中使用它:

var theInstance = this;

然后

request.onOpen = function(response) {
theInstance.@com.mdarveau.fnp.client.Client::onOpen(Lcom/mdarveau/fnp/client/Res‌​ponse;)(response);
};

关于GWT/JSNI 这个。未替换为对实例的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10406769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com