JavaScript的;异步操作,回调和过多的递归

时间:2012-04-05 21:47:58

标签: javascript recursion callback

当我尝试从本地sqlite或ajax请求获取某些内容时,我无法返回某些值,我需要运行回调。

我有一些相当大的功能来获取和处理一些数据,但我需要把它放在循环中并保持它直到它完成。我无法完成它'因为在内部回调运行之前功能已完成。我可以再次使回调运行该功能,但它不会占用内存吗?或者它不会因为父函数完成而内部变量和对象被销毁?

抱歉我的英文。

1 个答案:

答案 0 :(得分:0)

我是否理解正确你有一个进程将一个回调传递给你想在一个循环中重复的函数,这个函数会产生多个未完成的回调。

解决这个问题的方法是保持一个回调计数,并在每个回调时减少它。一旦计数器达到零,就进行最后的处理。

小心启动计数器,并在所有回调完成后减少计数器,以确保计数器不会过早地达到零。