异步JavaScript不会让我的函数返回吗?

问题描述

| 这可能是一个非常简单且新手的问题,而且我甚至不确定异步调用是否应归咎于此。但不管怎么说... 我正在使用jQuery及其函数在.php文件中添加外部脚本。 首先,让我们看一下我的外部js。 (test.js):
function testFunc () {
  alert(\'It works!\');
}
然后,我的.php文件带有以下脚本:
<script>
$.getScript(\'supervisor/cache/test.js\');
$(document).ready(function() {
  testFunc();
});
</script>
使用此方法,不会调用
testFunc();
。我尝试在调用之前插入
return
,将其放置在
ready
函数的外部,将ѭ5putting放置在
ready
函数的内部。好吧,我不知道还能尝试什么。 另外,如果我在按钮中使用
onClick
调用相同的功能,它将起作用。 这就是为什么我认为问题可能出在jQuery的异步调用上,即在真正添加脚本之前执行我的函数。但是谁知道呢?有人遇到过同样的问题吗?     

解决方法

一旦AJAX脚本执行完毕,您应该调用该函数,这可能比文档准备事件晚得多:
$.getScript(\'supervisor/cache/test.js\',function() {
    testFunc();
});
    ,由于您正在异步获取脚本,因此在加载test.js之前,文档可能已准备就绪。改为这样做:
$.getScript(\'supervisor/cache/test.js\',function(){
    testFunc();
});
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...