0

我执行我的异步函数,结果在我重新加载浏览器之前出现错误 - 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

4

2 回答 2

1

此处的0状态码表示请求已中止(也可能表示网络错误或请求超时)。

请参阅http://www.w3.org/TR/XMLHttpRequest/#the-status-attributehttp://www.w3.org/TR/XMLHttpRequest/#error-flag

于 2012-07-12T11:08:18.707 回答
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
  }
}
于 2012-07-12T11:33:19.110 回答