功能完成后做一些事情

时间:2011-03-01 14:26:02

标签: javascript jquery

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

我有一个用ajax创建内容的函数。功能完成后,我想对创建的内容做一些事情。要做到这一点,我需要等到所有内容都创建完毕,然后才能用它做任何事情。

我更喜欢的是这样的:

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

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

但是当然无法正常工作:)

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

在功能完成后有没有一种简单的方法可以做某事,而不是改变功能本身?

提前致谢!

3 个答案:

答案 0 :(得分:3)

当你使用jquery调用ajax调用时,有一堆处理程序在ajax调用完成时触发。你应该勾起那些。看看

http://api.jquery.com/jQuery.ajax/

特别是'成功'和'错误'属性。只需为这些函数定义函数,它们将在请求完成时被调用。

答案 1 :(得分:2)

如果你不想在jQuery *上浪费数百个字节和一堆毫秒:

您可以创建第二个功能:

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

然后致电:

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

*我喜欢jQuery,但是只使用它有数百种功能中的一种,我觉得没必要。

答案 2 :(得分:1)