Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
确保执行顺序:javascript_Javascript_Google Maps_Promise_Jquery Deferred - Fatal编程技术网

确保执行顺序:javascript

确保执行顺序:javascript,javascript,google-maps,promise,jquery-deferred,Javascript,Google Maps,Promise,Jquery Deferred,我试图通过点击按钮加载GoogleMapJS(而不是包含在优化的头部) getCurrentLocation只不过是一个地理位置对象,浏览器在完成反向查找的基础上支持该对象 我希望严格遵循Javascript文件的执行顺序,但这并不是理想的情况。我可以先看到getCurrentLocation的输出,然后是getScript日志 剧本怎么了 .then(_getCurrentLocation()) 您只需立即调用\u getCurrentLocation,并将返回值传递给then()(就像任何

我试图通过点击按钮加载GoogleMapJS(而不是包含在优化的头部)

getCurrentLocation只不过是一个地理位置对象,浏览器在完成反向查找的基础上支持该对象

我希望严格遵循Javascript文件的执行顺序,但这并不是理想的情况。我可以先看到getCurrentLocation的输出,然后是getScript日志

剧本怎么了

.then(_getCurrentLocation())
您只需立即调用
\u getCurrentLocation
,并将返回值传递给
then()
(就像任何其他函数调用一样)

您希望传递函数本身。

使用回调:

$.getScript(“https://maps.googleapis.com/maps/api/js?v=3.17&libraries=places")
.done(函数(){
console.log('loaded');
},函数(){
_getCurrentLocation();
_lookForLatLang();
});
$.getScript(“https://maps.googleapis.com/maps/api/js?v=3.17&libraries=places")
.done(函数(){
console.log('loaded');
_getCurrentLocation();
_lookForLatLang();

});
getScript
返回承诺。您不需要
$。当
时,检查您的控制台是否有错误(点击F12)。我相信你会看到一些有助于解释为什么它不起作用的东西。你为什么不显示正确的代码,而不是只突出显示错误的代码?@jfriend00:因为我想教人们理解,而不是从StackOverflow答案中复制代码。对不起,但我不相信。我认为显示正确代码的其他答案是更好的答案。解释这个问题的文本,希望OP能理解,也能使答案成为更好的答案,但不会以没有实际显示正确的解决方案为代价。为什么要在函数调用周围添加额外的参数
(\u getCurrentLocation())
可以是
\u getCurrentLocation()
.then(_getCurrentLocation())