CNode

坐标返回地址的回调函数如何写?

Ssipgear发布于13 年前最后回复13 年前4 回复4979 浏览0 收藏
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)

N
nihgwu#1·13 年前
引用 leapon就一个异步操作,没必要用 async function address(lat, lng, callback) { ... callback && callback(address); }

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

N
nihgwu#2·13 年前

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

S
sipgear#3·13 年前

好的。谢谢。

L
leapon#4·13 年前

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

function address(lat, lng, callback) {
    ...
    callback && callback(address);
}
参与回复
登录后即可参与回复。登录