我有一个问题,我认为答案很简单,但我找不到它......
我有一个用ajax创建内容的函数。功能完成后,我想对创建的内容做一些事情。要做到这一点,我需要等到所有内容都创建完毕,然后才能用它做任何事情。
我更喜欢的是这样的:
viewAllAccounts(function() {
//do something
});
或
viewAllAccounts().queue(function() {
// do something
});
但是当然无法正常工作:)
我不想触摸viewAllAccounts函数,因为它在我的应用程序中多次使用。
在功能完成后有没有一种简单的方法可以做某事,而不是改变功能本身?
提前致谢!
答案 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)