论坛首页 Web前端技术论坛

Ajax 中的回调函数

浏览 3868 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-07-20  
在做地图的时候,有一个方法是给一个经纬度坐标,返回该坐标所在的省市区的相关信息,可是返回值是在回调函数中给定的,代码如下,其中用到的方法是MapABC
            var ceshi;//设置测试是否执行赋值的变量
            var mls =new MReGeoCodeSearch(); //定义一个查询的对象
            mls.setCallbackFunction(function(data){ceshi=data.SpatialBean.City.name;}); //设置回调函数
            mls.poiToAddress(new MLngLat(lngx,lngY));//对象执行查询方法
            alert ceshi;


执行结果alert 内容为空。
我无法对它进行操作,由于我要将回调函数中的值引用到回调函数之外,我将其返回值付给一个全局变量ceshi,但是由于执行顺序的问题 ,如果将alert 语句写在回调函数中就可以正常返回值,说明:当查询方法执行完之后,没有立即执行回调函数

测试结果如上术。如有不会或者别的见解,希望能够交流。
   发表时间:2011-07-21  
看来默认是异步的,你看下它api有没有同步调用方式。不然你只能在回调中调用后续后的流程
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics