日期:2014-05-16  浏览次数:20367 次

异步封装成同步
我有个函数1,函数1里面进行一个异步执行,异步执行的回调函数是函数2,在函数2里可以获得异步执行的结果,我可以在函数1里直接获得函数2里的结果吗?怎样将这个异步封装成一个同步函数?

------解决方案--------------------
异步的肯定不行,要将你的alert语句(或者后续的需要异步结果的代码放到)
function searchComplete(result){
     time = result.time;
     //////////后续代码
}


回调里面
------解决方案--------------------
改习惯吧,异步对客户端更友好,要不等着你的ajax返回时,浏览器就会象给卡住一样。
只是个思维习惯的问题,都是可以实现的。
------解决方案--------------------
如果你喜欢折腾的花也是可以的哟,在function getTest()函数里加个setTimeout(),比如100毫秒的延迟,外面套个循环,在里守候,那边的异步执行完你就退出.
------解决方案--------------------
函数2里再处理后续逻辑