在 jQuery 延迟后加载 jquery 插件文件

load jquery plugin file after jQuery deffered

我有一个 js 文件,我想在 Jquery 延迟函数之后加载它。 事情是我将数据带入我的 getData 函数,然后将字符串注入 DOM。之后,js 文件将初始化该代码。这就是我想在代码运行后调用 js 文件的原因

我该怎么做

下面是我的代码。

jQuery function decalaration

function getData(url) {
  return $.ajax({
    url: url,
    method: 'GET',
    headers: {
      Accept: 'application/json; odata=verbose',
    },
  })
}

function call

getData(url).then(function(data){

});

现在我想在 then 函数完成后调用 jQuery 文件。

<script src="file.js"></script>

你需要使用Promise/await的方式,因为你需要在执行完一些东西之后写js文件,这样你就可以让js文件等到你的代码完成,然后把你新的js文件写到body中。 ...检查这个例子:

/* MEthod used to write js to body script */
function addJsFileToBody(jsSrc)
{
    var script = document.createElement("script");
        script.src = jsSrc;
        document.getElementsByTagName("body")[0].appendChild(script);
}

var promise1 = new Promise(function(resolve, reject) {
  $.ajax({
    url: url,
    method: 'GET',
    headers: {
      Accept: 'application/json; odata=verbose',
    },
    complete: function(data) {
      resolve(data);
    }
  })
});

promise1.then(function(value) {
  addJsFileToBody('file.js');
});

参考和示例: Promise and await