查看文章 |
ajax异步调用的同步
2009-02-23 21:53
当进行ajax异步调用的时候,当前程序流和每一个ajax调用都是异步执行了,对于共享变量(同一个变量)的操作,要注意同步和互斥的问题。 比如 var a = 1; ajax调用把 a 赋值成2; alert(a); 这时候打印出的 a 很可能还是1。因为执行alert(a) 的时候ajax调用不一定已经给 a 赋值。 我们可以使用ajax的回调函数解决这个问题,ajax的回调函数是在ajax的调用完成的时候执行的,假设回调函数是callback: var a = 1; ajax调用把 a 赋值成2; function callback() { alert(a); } 当需要循环调用同一个ajax方法的时候,最好用递归的方法,在一个ajax调用完成的回调函数中再去调用下一个ajax方法。 需要调用多个不同的ajax方法的时候,要分清楚各个方法的调用和完成时间,要注意共享变量,利用回调函数,满足自己的顺序要求。 |
最近读者: