2

在 JavaScript 中实现 Ruby Timeout 模块功能的最佳方法是什么?

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/timeout/rdoc/Timeout.html

例如取消(异步)完成时间比给定时间长的请求?

编辑:

为了明确我想要实现的目标:

例如,如果我在 node.js 中执行 HTTP 请求,例如

http.request(options, callback).end();

如果请求的时间超过给定的超时时间,我想取消请求。因此,取消绑定回调或确保请求没有进一步影响所需的一切。

4

1 回答 1

1

如果要取消(到)长时间运行的进程,请创建一个可在您使用 setTimeout 创建的闭包(函数)中访问的变量

someLongRunningHttpRequest = new HttpRequest("point://some/where")

#cancel the request after 5 seconds
setTimeout -> 
    someLongRunningHttpRequest.cancel()
, 5000

显然你需要一个“cancable”的对象,或者你可以简单地忽略结果?

于 2013-02-20T07:39:57.337 回答