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

标签 javascript jquery jquery-deferred

我有一个 js 文件,我想在 Jquery 延迟函数之后加载它。 事情是我将数据带入我的 getData 函数,然后将字符串注入(inject) 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){

});

现在我想在 finish of 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');
});

引用和例子: Promiseawait

关于javascript - 在 jQuery 延迟后加载 jquery 插件文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53209438/

相关文章:

javascript - 从父级 javascript onclick 获取子级 id

javascript - Yii::app()->clientScript->registerCoreScript ('jquery' );

javascript - 简单的jquery延迟队列

javascript - WebGL 警告 : "Attribute 0 is disabled. This has significant performance penalty"

javascript - 从函数本身内部的按钮调用 jquery 函数

javascript - navigator.onLine 在关闭 WiFi 时仍然为真,在浏览器中设置 "work offline"时为假

javascript - jQuery 延迟回调的参数是什么?

javascript - 在页面加载和随后的 ajax 回发时注册 jquery

javascript - JQuery slider 控件 - slider handle 不移动

javascript - 如何构造这些嵌套的异步请求以在继续之前完成批处理?