设置jquery setTimeOut的最大尝试次数

时间:2015-09-11 17:04:39

标签: jquery settimeout

我有jQuery代码执行一些setTimeOut。我想设置它尝试执行超时的最大尝试次数。在" n"之后尝试它不应该再超时了。我抬起头看了一下,但无法想办法。有没有办法可以做到。

  PUT /comtest
  {

  "mappings": {
     "t": {

        "properties": {
           "a": {
              "type": "string"
           },
           "b": {
              "type": "long"
           },

           "c":
           {
            "type" : "object",
                    "enabled" : false
           },
           "d": {
              "type": "string"
           },
           "e": {
              "type": "string"
           },
           "f": {
              "type": "boolean"
           },
           "g": {
              "type": "string"
           },
           "h": {
              "type": "string"
           },
           "i": {
              "type": "long"
           },
           "j": {
              "type": "string"
           },
           "k": {
              "type": "long"
           },
           "l": {
              "type": "date"
           },
           "m": {
              "type": "string"
           },
           "n": {
              "type": "string"
           },
           "o": {
              "type": "string"
           },
           "p": {
              "type": "string"
           }
        }
     }
  }

  }

2 个答案:

答案 0 :(得分:2)

这样的事情:

   var count = 0;
   var MAX_TIMEOUTS = /*yournum*/ 
   var qualv = function(count) {
      var isPublish = true;

      if(isPublish) {
        if($( ".qual_ol_send_box" ).length) { 
             PopupLink.init();
         } else 
          setTimeout(qualv,1000)
         }
         $(document).ready(function() {
             count ++;
             if(count<MAX_TIMEOUTS){
                  setTimeout(qualv(count),500)
             } else {
                  /* your best */
             }
         });
     }

答案 1 :(得分:0)

然后只需使用

var qualv = function () {
    var isPublish = true;

    if (isPublish) {
        if ($(".qual_ol_send_box").length) {
            PopupLink.init();
        } else 
          setTimeout(qualv, 1000)
    }
  }
$(document).ready(function () {
    var MAX_TIMEOUTS = /*yournum*/ 
    while (i < MAX_TIMEOUTS ) {
        setTimeout(qualv, 500);
    i++;
   }
});