您好,欢迎访问一九零五行业门户网

分享一篇改写成传统的回调函数实例教程

改写前:
百度地图中坐标转换的javascript api示例官方示例如下:
var points = [new bmap.point(116.3786889372559,39.90762965106183),              new bmap.point(116.38632786853032,39.90795884517671),              new bmap.point(116.39534009082035,39.907432133833574),              new bmap.point(116.40624058825688,39.90789300648029),              new bmap.point(116.41413701159672,39.90795884517671) ];//地图初始化var bm = new bmap.map(allmap); bm.centerandzoom(new bmap.point(116.378688937,39.9076296510), 15);//坐标转换完之后的回调函数translatecallback = function (data){  if(data.status === 0) {for (var i = 0; i < data.points.length; i++) {         bm.addoverlay(new bmap.marker(data.points[i]));         bm.setcenter(data.points[i]);     }   } } settimeout(function(){var convertor = new bmap.convertor();     convertor.translate(points, 1, 5, translatecallback) }, 1000);
改写后:
将上述代码改写为传统的javascript回调函数形式:
function translate(points,callback){  var convertor=new bmap.convertor();   convertor.translate(points, 1, 5, callback)   translatecallback = function (data){if(data.status === 0) {      var res=[]; //res用来存放转换后的points数组  for (var i = 0; i < data.points.length; i++) {           bm.addoverlay(new bmap.marker(data.points[i]));           res.push(data.points[i]);       }       callback(res)     }   } }//再调用translate函数,translate(points,function(data){     console.log(data); //data为转换后的points数组})
改写后translate函数接受两个参数,第一个参数为原始的百度points数组,第二个参数传入一个回调函数。
以上就是分享一篇改写成传统的回调函数实例教程的详细内容。
其它类似信息

推荐信息