如何知道 Javascript 追加方法是否已完成脚本标记

How to know if Javascript append method has completed with script tag

本文关键字:已完成 脚本 是否 方法 何知道 Javascript 追加      更新时间:2023-09-26
var js_1 = "<script type="text/javascript" src="https://xxxx.yyy.appl.js"> </script>" 
var js_2 = <script type="text/javascript">JUMBO.submission.onComplete(function(response) { alert('hello'); console.log(response); }); </script>
    $('.form-section').append(js_1);  ---> line 3 
    $('.form-section').append(js_2);  ---> line 4

在正常情况下JUMBO对象应该在启动appl.js后定义,但在我的场景中,我收到错误说JUMBO没有定义。

我的发现:
如果它是常规append方法,因为它是同步调用,那不会有问题,但由于js_1是异步调用,在执行此line 3之前,line 4正在执行并出错。

我已经尝试了$.getScript, Deferred方法来解决它,但没有运气。任何帮助都会得到回报。

注意:

<script type="text/javascript" src="https://xxxx.yyy.appl.js"> </script>"必须插入到 DOM 中,以便生成所需的 html。

使用回调参数$.getScript

$.getScript("https://xxxx.yyy.appl.js", function() {
    JUMBO.submission.onComplete(function(response) { 
        alert('hello'); 
        console.log(response); 
    });
});

回调将在脚本加载后执行。