【发布时间】:2012-10-05 20:40:11
【问题描述】:
我有以下函数每 2 秒调用一次以加载一些数据。它注册函数 [do] 以对响应进行处理。 (示例已简化)。
function doRequest (){
$.ajax({ url: 'www.google.com.pe', success: function (response) {do(response)} });
}
function do (text){
var i = setInterval(doRequest, 2000);
}
我想知道是否有任何方法可以创建每次调用 [do] 函数时调用的函数,而无需在 do 函数内添加对侦听器的调用。提前致谢。如果有任何更好的方法来使用 jquery,比如插件,我将不胜感激。
[编辑] 这个想法不在于它是否有效。我的问题是我是否可以向已经实现的“do”函数添加一个自定义侦听器。像 addActionListener("do", "after", doSomeThingElse) 这样我就可以在 do 函数完成后做其他事情。
【问题讨论】:
-
2000= 2 秒而不是 2 分钟。您在 setInterval 中拥有的是毫秒。这只是一个评论 -
不要将你的函数命名为
do。do是 Javascript 中的保留字。 -
顺便说一下,
setInterval的参数需要翻转 - 函数首先出现,然后是毫秒:developer.mozilla.org/en-US/docs/DOM/window.setInterval -
谢谢,即时制作了这个例子,那里有很大的错误。
-
我认为您正在寻找 javascript 中的观察者模式:dustindiaz.com/javascript-observer-class
标签: javascript jquery javascript-events event-handling