यहां मेरी समस्या है। मेरे पास प्रॉक्सी सर्वर का परीक्षण करने के लिए यह फ़ंक्शन है।मेरा फ़ंक्शन कॉल क्यों सेट किया गया है जिसे सेटटाइमआउट द्वारा तुरंत निर्धारित किया जाना चाहिए?
function crawl() {
var oldstatus = document.getElementById('status').innerHTML;
document.getElementById('status').innerHTML = oldstatus + "Crawler Started...<br />";
var url = document.getElementById('url').value;
var proxys = document.getElementById('proxys').value.replace(/\n/g,',');
var proxys = proxys.split(",");
for (proxy in proxys) {
var proxytimeout = proxy*10000;
setTimeout(doRequest(url,proxys[proxy]), proxytimeout);
}
}
मैं 'doRequest()' समारोह में लेकिन फिर भी setTimeout() फ़ंक्शन तुरंत कहा जाता है के साथ लगभग 10 सेकंड के अंतराल के नाम से जाना चाहते हैं।
किसी भी विचार का स्वागत है, धन्यवाद।
पीएस: यहां तक कि अगर मैं 'proxytimout' के लिए मनमाना मूल्य डालता हूं तो इसका कोई प्रभाव नहीं पड़ता है।
setTimeout(doRequest(url,proxys[proxy]), proxytimeout);
लेखन doRequest()
वास्तव में समारोह बुला रहा है:
अगर मैं गलत हूं, तो मुझे सही करें, लेकिन चूंकि यह एक लूप के अंदर हो रहा है, तो आपके द्वारा दी गई दूसरी विधि काम नहीं करेगी। 'प्रॉक्सी' का मान बदल जाएगा क्योंकि कोई बंद नहीं किया गया है। – nickf
@nickf: मैं यह कहने वाला था। इसके अलावा, तीसरा विकल्प 'eval बुराई' का उल्लंघन करता है। – SLaks
@nickf, आप सच हैं, मैंने उस बिंदु को अनदेखा किया। मैंने अपना जवाब अपडेट कर लिया है। –