我执行我的异步功能,在结果之前我重新加载浏览器我得到错误 - 执行OnFailure(Throwable)。状态错误代码为0。
此问题出在FireFox和Chrome上。
你能告诉我这个状态代码的含义吗。
do(new AsyncCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {}
@Override
public void onFailure(Throwable throw) {
do_sth();
}
});
Boolean do() { while(true); }
那也返回状态错误0
答案 0 :(得分:1)
这里的0
状态代码表示请求已中止(它也可能表示网络错误或请求超时)。
请参阅http://www.w3.org/TR/XMLHttpRequest/#the-status-attribute和http://www.w3.org/TR/XMLHttpRequest/#error-flag
答案 1 :(得分:0)
你可以随时定义你的onFailure()
(改编自GWT API),以便能够很好地处理各种类型的失败:
public void onFailure(Throwable caught) {
try {
throw caught;
} catch (IncompatibleRemoteServiceException e) {
// this client is not compatible with the server; cleanup and refresh the
// browser
} catch (InvocationException e) {
// the call didn't complete cleanly
} catch (YourOwnException e) {
// take appropriate action
} catch (Throwable e) {
// last resort -- a very unexpected exception
}
}