0
我想创建模块(mapview,网络,地理位置等),我面临的异步问题。比如我有geolocation.js:与模块异步问题 - 钛
exports.getLocation = function(){
var lat="";
var lon="";
//询问用户是否允许使用当前位置服务
Ti.Geolocation.purpose = "Receive User Location";
Titanium.Geolocation.accuracy = Titanium.Geolocation.ACCURACY_BEST;
Titanium.Geolocation.distanceFilter = 10;
//获取当前位置(火一次)
钛.Geolocation.getCurrentPosition(函数(e)中{
if (e.error){
alert('The device cannot get your current location');
return;
}
var longitude = e.coords.longitude;
var latitude = e.coords.latitude;
lon = longitude; lat = longitude;
});
// I WANT HERE TO RETURN LAT+LON VALUES
// return lat+lon;
}
我想从我的app.js调用:var location = require('/ geolocation'); var latlon = location.getLocation(); 但getCurrent位置是异步的,所以当我使用“return lat + lon”时,我得到null。我试过回调,但他们不能返回getLocation的值。是否有任何通用的方法来管理这个异步函数?