我想返回“ 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;


}

最佳答案

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

一种选择是让您的主要currentLocation函数进行回调,并使用success内部的值进行调用。

关于javascript - 如何获取成功回调函数结果的赋值给变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43726189/

10-10 14:35