我正在尝试按下按钮点击谷歌地图JS(而不是包含在头部进行优化)。
$.when(
$.getScript("https://maps.googleapis.com/maps/api/js?v=3.17&libraries=places")
.done(function() {
console.log('loaded');
})
)
.then(_getCurrentLocation())
.then(_lookForLatLang())
getCurrentLocation只是一个地理定位对象,浏览器支持基于该反向查找完成。
我想严格遵循Javascript文件的执行顺序,但理想情况并非如此。我可以看到getCurrentLocation的输出FIRST&然后getScript log。
脚本有什么问题?
答案 0 :(得分:3)
.then(_getCurrentLocation())
您刚刚立即调用_getCurrentLocation
并将返回的值传递给then()
(就像任何其他函数调用一样)。
您想要传递函数本身。
答案 1 :(得分:2)
使用回调:
$.getScript("https://maps.googleapis.com/maps/api/js?v=3.17&libraries=places")
.done(function() {
console.log('loaded');
}, function () {
_getCurrentLocation();
_lookForLatLang();
});
答案 2 :(得分:1)
$.getScript("https://maps.googleapis.com/maps/api/js?v=3.17&libraries=places")
.done(function() {
console.log('loaded');
_getCurrentLocation();
_lookForLatLang();
});