gpt4 book ai didi

javascript - 从延迟返回数据?

转载 作者:行者123 更新时间:2023-12-01 01:43:53 24 4
gpt4 key购买 nike

我有一个使用 Google 地点服务的类(class)。用户可以输入地址,Google 将返回有关该地址的信息。

后来我想知道这个地方的纬度和经度坐标,所以我有这个方法,利用谷歌的地点服务来获取坐标。

我返回一个延期的,因为这可能需要一些时间。

p.getLatLong = function() {

var dfd = $.Deferred();

this.placesService.getDetails({
reference: this.pacReference
}, function(details, status){
if(details){
dfd.resolve({'lat' : details.geometry.location.lat(), 'lng' : details.geometry.location.lng()});
}
else{
dfd.reject();
}
})
}

return dfd;
};

我希望能够访问上述方法并仅返回坐标或 null(如果 dfd 被拒绝),但该方法返回延迟。

如何只返回 dfd 的结果而不是 dfd 本身?

我不想打电话:

this.geo.getLatLng().done(function(data){console.log(data})

但是像这样:

console.log(this.geo.getLatLng());

最佳答案

我明白你的意思,尽管 Promise 的存在是有原因的,原因是请求数据的异步性质。

有一个办法,在没明白promise的目标之前,我以前也觉得这个办法不错。您可以返回“要填充”数据的引用,但是什么时候才能使用它呢?您打算轮询对象的状态吗...?我希望不会,认真遵守 promise ,你会因为一堆按键的小利润而避免很多问题。

关于javascript - 从延迟返回数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31389909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com