ホームページ  >  記事  >  ウェブフロントエンド  >  従来のコールバック関数に書き直されたチュートリアルの例を共有する

従来のコールバック関数に書き直されたチュートリアルの例を共有する

零下一度
零下一度オリジナル
2017-06-26 11:50:061323ブラウズ

書き換え前:

Baidu Maps での座標変換の 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数组})

書き換え後 変換関数は 2 つのパラメーターを受け取ります。最初のパラメーターは元の Baidu ポイント配列で、2 番目のパラメーターはコールバック関数に渡されます。

以上が従来のコールバック関数に書き直されたチュートリアルの例を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。