在函数完成后执行某些操作

4

我有一个问题,我认为答案很简单,但我真的找不到...

我有一个使用ajax创建内容的函数。在函数完成后,我想对创建的内容进行操作。为了做到这一点,我需要等待所有内容被创建完毕,然后才能对其进行操作。

我希望实现的是这样的:

viewAllAccounts(function() {
   //do something
});

或者

viewAllAccounts().queue(function() {
   // do something
});

但是,显然这样做行不通 :)

我不想修改viewAllAccounts函数,因为它在我的应用程序中被多次使用。

有没有一种简单的方法,在函数完成后执行某些操作,而不改变函数本身?

提前感谢!


viewAllAccounts 调用 return ; 之前添加对另一个函数(执行某些操作)的调用? - ypercubeᵀᴹ
3个回答

3
当您使用jQuery调用ajax时,完成ajax调用时会触发一系列处理程序。您应该钩入这些处理程序。请查看http://api.jquery.com/jQuery.ajax/,特别是'success'和'error'属性。只需为其定义函数,它们将在请求完成时被调用。请注意保留HTML标记。

2

如果您不想在jQuery上浪费几百字节和许多毫秒时间:

您可以创建第二个函数:

function viewAllAccountsWithFinishingFunction(func) {
  viewAllAccounts();
  return func();
}

然后调用:

viewAllAccountsWithFinishingFunction(function() {
  //do something
});

* 我喜欢jQuery,但仅使用它的几百个功能中的一个,我认为没有必要。


我是一名设计师,这看起来对我来说非常聪明。 - Даниил Пронин


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接