react 引入js文件未执行完成就被调用 导致找不到该变量

在index.js中引入文件

<script type="text/javascript" src="https://asent.xxxm/client/gloxxxDK.js"></script>

GlodonRobotJsSDKGlodonRobotJsSDK 有值的话 表示该js执行完毕

这里用了自调函数

  globalNum = 0;
  getGldonxSDK = (times) => {
    
    
    if (window.GlodonRobotJsSDKGlodonRobotJsSDK) {
    
    
    // 当调用成功时 执行后续方法
       window.GlodonRobotJsSDKGlodonRobotJsSDK.init(
        "https://agent.gxon.com/client/x.html?app=ZPExxx8e15730ebe3487c8d700df0a68ac468&type=plugin"
      );
    } else {
    
    
      this.globalNum++;
      if (this.globalNum > times) {
    
    
        throw Error("ERROR: TIMEOUT");
      } else {
    
    
        setTimeout(() => {
    
    
          this.getGldonxSDK();
        }, 200);
      }
    }
  };

在生命周期中调用该函数 我写的是五次 如果觉得延迟高次数少的话可以加

  componentDidMount() {
    
    
    this.getGldonRobotSDK(5);
  }

猜你喜欢

转载自blog.csdn.net/weixin_50001396/article/details/123715124