Jquery 等待加载变量的脚本,setTimeout的替代方法

Jquery 等待加载变量的脚本,setTimeout的替代方法,jquery,Jquery,以下脚本使用setTimeout()等待变量获取值(其值由另一个加载异步的脚本生成): 是否有更好的方法来处理此besideds setTimeout()。。。可能触发实例“prefSource”的加载函数不是空的 有什么想法吗?既然您已经用jQuery标记了这一点,使用承诺,您已经可以使用它们了: optinLoad().done(function (perfSource) { // Do Something }); function optinLoad() { dfd = $.D

以下脚本使用setTimeout()等待变量获取值(其值由另一个加载异步的脚本生成):

是否有更好的方法来处理此besideds setTimeout()。。。可能触发实例“prefSource”的加载函数不是空的


有什么想法吗?

既然您已经用jQuery标记了这一点,使用承诺,您已经可以使用它们了:

optinLoad().done(function (perfSource) {
  // Do Something

});

function optinLoad() {
  dfd = $.Deferred()

  var interval = setInterval(function () {
    if (!isEmpty(prefSource)) {
      clearInterval(interval)
      dfd.resolve(prefSource);
    } else {
      // Do whatever to load prefSource
    }
  }, 1000);


  return dfd.promise()
}

因为您已经用jQuery标记了这一点,使用承诺,您已经可以使用这些承诺了:

optinLoad().done(function (perfSource) {
  // Do Something

});

function optinLoad() {
  dfd = $.Deferred()

  var interval = setInterval(function () {
    if (!isEmpty(prefSource)) {
      clearInterval(interval)
      dfd.resolve(prefSource);
    } else {
      // Do whatever to load prefSource
    }
  }, 1000);


  return dfd.promise()
}

对于答案,我需要等待prefSource加载(它是一个变量)和启动optinLoad函数。对于答案,我需要等待prefSource加载(它是一个变量)和启动optinLoad函数