JavaScript / CoffeeScript相当于Ruby Timeout模块

时间:2013-02-19 21:29:01

标签: javascript ruby coffeescript settimeout

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

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

e.g。取消(异步)需要比给定时间更长的请求?

修改

明确我想要达到的目标:

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

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

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

1 个答案:

答案 0 :(得分:1)

如果要取消(到)长时间运行的进程,请创建一个 可以在使用setTimeout

创建的闭包(函数)中访问的变量
someLongRunningHttpRequest = new HttpRequest("point://some/where")

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

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