如何将成功回调函数结果的值赋给变量

时间:2017-05-01 20:39:48

标签: javascript jquery

我想返回“currentLoc”。不幸的是,它对我不起作用。 如何通过我的代码分配回调函数的结果来重用它。

function currentLocation() {

    var options = {
        enableHighAccuracy: true,
        timeout: 5000,
        maximumAge: 0
    };

    function success(pos) {
        var crd = pos.coords;
        console.log(`Latitude : ${crd.latitude}`);
        console.log(`Longitude: ${crd.longitude}`);

        currentLoc = new google.maps.LatLng( crd.latitude, crd.longitude);

    };

    function error(err) {
        ///ERROR

    };

    if ( navigator.geolocation) 
        navigator.geolocation.getCurrentPosition(success, error, options);

   return currentLoc;

}

1 个答案:

答案 0 :(得分:1)

因为回调是异步发生的,所以return语句在success甚至运行之前发生。

一个选项是让您的主currentLocation函数进行回调,并使用success内的值调用该函数。