坐标返回地址的回调函数如何写?
 发布于 12 年前  作者 sipgear  4837 次预览  最后一次回复是 12 年前  来自  
function address(lat,lng){
request('https://maps.googleapis.com/maps/api/geocode/json?latlng='+ lat +','+ lng +'&sensor=false', function (error, response, data) {
  if (!error && response.statusCode == 200) {
        
        //var dd = JSON.stringify(data);
        //console.log(data);
        var result = JSON.parse(data);
        var dd = JSON.stringify(result);
        //console.log(result);
        var address = result.results[0].formatted_address;
        console.log(address)
        return address;
  }
})}
            console.log(address(22.333,113.5555));
4 回复
nihgwu

要么深层嵌套要么讲结果处理函数当作参数传递给address(其实就是深层嵌套),要么用async控制流程

sipgear

好的。谢谢。

leapon

就一个异步操作,没必要用 async

function address(lat, lng, callback) {
    ...
    callback && callback(address);
}
nihgwu

这个就是传递处理函数给address了啊,有什么办法能让request的结果同步返回么,用async.series搞不定,只能把处理函数放在async里面