【发布时间】:2011-01-18 14:22:19
【问题描述】:
如果这是重复的,我深表歉意。
假设我有一个 JavaScript 函数,它调用 Web 服务来提取一些数据。我使用某种动态图形让用户知道它正在工作。成功检索后,我将图形更改为复选标记。这是我的代码:
getData: function() {
$("#button").attr("disabled", "true");
var params = {
doRefresh: false,
method: '/GetData',
onSuccess: new this.getDataCallback(this).callback,
onFailure: new this.getDataFailed(this).callback,
args: { text: $("#getData").val() }
};
WebService.invoke(params.method, params.onSuccess, params.onFailure, params.args);
}
我想要的是在 5 分钟后,如果此过程仍未成功返回我的数据,则抛出异常,或者更好的是,运行我的函数 this.getDataFailed(this).callback。这对 JavaScript 来说似乎可行吗?我查看了 setTimeout() 和 setInterval(),它们似乎只是延迟了脚本的执行,而我想真正地“超时”一个长时间运行的进程。有什么想法吗?
此外,我愿意接受任何批评/改进我的代码以实现此功能。
【问题讨论】:
标签: javascript timeout