如何从AJAX回调中的setTimeout()中调用存储在一组选项中的函数
How to call a function that is stored in a set of options from within setTimeout() inside an AJAX callback?
以下是我的相关代码:
success: [
setTimeout(function () {
ajax.success
}, 250),
//...
奇怪的是,我可以从success: []
选项中调用ajax.success
,但是它在setTimeout()
中包装时停止工作。
我认为最有效的是在执行此代码之前将ajax.success
选项分配给函数,但我不确定如何这样做。
success
回调接受处理程序或处理程序列表。但是,调用setTimeout
的结果是与该超时相关联的唯一ID。它不是一个函数。因此,您可能需要的是:
success: [
function() {
setTimeout(function () {
doStuff();
}, 250),
},
// ...
]
如果你的函数需要使用一些参数,那么你可以这样包装它:
success: [
function() {
var self = this,
args = arguments;
setTimeout(function () {
doStuff.apply(self, args);
}, 250),
},
// ...
]
注意this
和arguments
是关键字。还要注意.apply
的使用
这是你的意思吗?…
function doWork() {
console.log('test');
}
$.ajax({
url: 'xxx',
success: function() {
setTimeout(function() {
doWork();
}, 1000);
}
});
相关文章:
- 简单的Javascript文本编辑器或一组函数
- 如何使用用户定义的相等函数在Javascript中创建一组用户定义的对象
- 如何在redux模块中创建一个helper类型的函数,从state返回一组经过过滤的只读数据
- 通过jquery.html()将一组数据传递给javascript函数
- 是否可以省略一组中间的 Javascript 函数参数
- 使用异步子例程对一组函数进行计时
- 首先触发一组函数,然后回调到最后一个函数
- 是否有一组限制可用于模拟JavaScript中的函数式编程
- 打字稿函数接受一个或一组对象
- jQuery中的函数来操作一组id
- 我如何创建一个函数来选择一组复选框的子集
- 如何在 Javascript 中使一组函数在另一组函数之后出现
- 如何使用 JavaScript 函数选择和修改一组 html
- Javascript函数,用于记住用户在其先前的访问权限中从一组下拉菜单选项中选择的内容
- javascript/nodejs:在大的、分块的数据集上同步调用一组类似的异步函数会导致内存泄漏
- 如何获得一组js函数在后台运行
- ReactJS组件PropTypes——用一组参数指定一个函数类型
- 使用传递给函数的参数动态地从一组数组中检索值
- 在javascript中使用一组函数作为原型
- 你能从一个字符串数组中创建一组函数吗