سؤال

وأنا باستخدام setInterval لمعرفة ما اذا كان ص (الفقرة أتش تي أم أل) يحتوي على قيمة نصية معينة. إذا كان لديه ذلك أريد لمسح فاصل على مواصلة تدفق التعليمات البرمجية. أنا باستخدام هذا البرنامج المساعد في مسج حتى إذا الفقرة ديها قيمة نصية متبادلة أريد لمسح فاصل ثم نواصل مع دالة رد. لذلك حاولت شيء مثل هذا:

var checkTextValue = setInterval(function(){
                          var textVal = $('p').text();
                          if(textVal == 'expectedValue'){
                              clearInterval(checkTextValue);
                              callback();
                          } 
                     },10);

وظيفة رد انها تنبيه بسيط. مشكلتي هي أن حالة تأهب ودعا إلى ما لا نهاية. كيف يمكنني كتابة التعليمات البرمجية جهدي لتحقيق ذلك أليس كذلك؟ شكر.

هل كانت مفيدة؟

المحلول

واستخدام setTimeout بدلا من setInterval.

وشيء من هذا القبيل:

var checkTextValue = setTimeout(function() {
    var textVal = $('p').text();
    if (textVal == 'expectedValue'){
        callback();
    } else {
        setTimeout(arguments.callee, 10);
    }
},10);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top