0
4

1 回答 1

0

在处理操作之前,我会检查您正在进行的服务调用是否有任何将 eventListeners 绑定到其上的钩子。是否会有一个值得怀疑,但值得一看。

我假设一旦发送了服务调用,它就会异步更新,您将没有机会。

但是,如果您正在调用 API 响应,例如,您可以设置超时值和在这种情况下触发的错误捕获。

例如

var url = "serviceURL";
var xhr = Ti.Network.createHTTPClient({
    onload: function(e) {
        // this.responseText holds the raw text return of the message (used for JSON)
        // this.responseXML holds any returned XML (used for SOAP web services)
        // this.responseData holds any returned binary data

        Ti.API.debug(this.responseText);
        alert('success');
    },
    onerror: function(e) {
        Ti.API.debug(e.error);
        alert('error');
    },
    timeout:5000
});

在错误函数中,您可以关闭加载轮对象。

例如。

loadingWheel.close();

然后使用原始窗口上下文将用户引导到不同的窗口。

实现这一点的另一个选择是等待服务的响应并编写一个基本的超时函数,该函数在服务返回结果之前中止。您可以错误地捕捉到这一点,并且在新窗口在合理的时间内返回之前不加载它,同时仍向用户显示加载轮。

于 2015-02-03T09:49:52.883 回答