在第三个库中的上一个函数完成后,在javascript中运行下一行(不是jquery)

在第三个库中的上一个函数完成后,在javascript中运行下一行(不是jquery),javascript,Javascript,在我们的网站中,有一个呼叫跟踪脚本,用户在联系人页面中选择国家后直接运行该脚本 其过程如下: 1.客户点击列表并选择他们所在的国家,在此阶段,一旦他们点击元素,我们就开始跟踪 2.第三部分中的脚本运行时,通过使用新号码替换上一节课来更改网站中的电话号码 3.然后我们想在下一行中得到新号码 计划的脚本如下所示: orgCallNo = document.querySelector(".oldTel").innerHTML; var x = setInterval(function (

在我们的网站中,有一个呼叫跟踪脚本,用户在联系人页面中选择国家后直接运行该脚本

其过程如下:
1.客户点击列表并选择他们所在的国家,在此阶段,一旦他们点击元素,我们就开始跟踪

2.第三部分中的脚本运行时,通过使用新号码替换上一节课来更改网站中的电话号码

3.然后我们想在下一行中得到新号码

计划的脚本如下所示:

   orgCallNo = document.querySelector(".oldTel").innerHTML;
    var x = setInterval(function (){ 
      telephone.change();
      var newCallNo = document.querySelector(".tel").innerHTML;
      if (newCallNo !== orgCallNo) {
        console.log(newCallNo);
        clearInterval(x);
        }
      }, 20);
问题是,当我调用外部脚本(即电话更改脚本)时,需要一段时间,下一行接受旧的输入并在电话脚本完成之前继续该过程

为了解决这个问题,我已经尝试了setTimeOut函数来暂停下一步:

orgCallNo = document.querySelector(".oldTel").innerHTML;
var x = setInterval(function (){ 
  telephone.change();
  var newCallNo = setTimeout(function(){return 
                  document.querySelector(".tel").innerHTML;}, 300);
  if (newCallNo !== orgCallNo) {
    console.log(newCallNo);
    clearInterval(x);
    }
  }, 20); 
但是,它返回未定义的。同时,我想尝试使用callback函数,但首先,大多数解决方案都在jQuery中,我现在无法使用。第二点是,脚本使用来自第三方的库,并且没有直接返回脚本中的一些输入,因此我不确定何时设置回调函数

在这种情况下,如何确保在第三方脚本完成后运行下一行?
感谢大家的帮助=)

您可以使用
readyState
加载此外部库,就像您在加载第三个库时检测到的那样(优于setTimeout)

示例代码:

function loadScript( url, callback ) {
  var script = document.createElement( "script" )
  script.type = "text/javascript";
  if(script.readyState) {  //IE
    script.onreadystatechange = function() {
      if ( script.readyState === "loaded" || script.readyState === "complete" ) {
        script.onreadystatechange = null;
        callback();
      }
    };
  } else {  //Others
    script.onload = function() {
      callback();
    };
  }

  script.src = url;
  document.getElementsByTagName( "head" )[0].appendChild( script );
}


// call the function...
loadScript(pathtoscript, function() {
  console.log('script ready! i can now execute my code...'); 
});

2个问题:1。你能不能提供这个库的链接,然后说,在你真正的项目中你调用了哪种方法?2.库中的这个方法接受任何参数吗?这个方法是异步的吗?它是否返回了一些内容?“…需要一段时间,下一行将接收旧的输入,并在电话脚本完成之前继续此过程。”
setInterval
将执行此操作,您需要使用它的原因是什么?这是太多的工作没有HTML请张贴相关的HTML以及