एक साधारण फ़ंक्शन में आंतरिक रूप से एक सेटइंटरवल फ़ंक्शन होता है, फ़ंक्शन के पूर्ण रिटर्न स्टेटमेंट के बाद भी सेटइंटरवल क्यों चलता रहता है

function test(){
  setInterval(()=>{
    console.log(1)
  },1000)

  console.log('end')
  return 0;
}


test() //output: end 1 1 1 1 1 1

0
feeco 4 सितंबर 2021, 11:18

3 जवाब

सबसे बढ़िया उत्तर

सेटइंटरवल (फ़ंक्शन, टी) प्रत्येक टी मिलीसेकंड के बाद कॉलबैक फ़ंक्शन को कॉल करने के लिए एक वेबपी है। यही कारण है कि यह लगातार चल रहा है।

0
raj240 4 सितंबर 2021, 08:25

SetInterval प्रत्येक Xms पर आपकी अभिव्यक्ति का मूल्यांकन करता है और यदि आप इसे रोकना चाहते हैं तो clearInterval द्वारा इसे साफ़ करने की आवश्यकता है।

आप जो खोज रहे हैं वह सेटटाइमआउट है जो इसे केवल एक बार चलाएगा।

0
Dimitar Shopov 4 सितंबर 2021, 08:24

यदि आपका लक्ष्य यह है कि फ़ंक्शन X सेकंड / ms के बाद एक बार चलेगा, तो आप शायद setTimeout () फ़ंक्शन का उपयोग करना चाहते हैं। यदि आपका लक्ष्य प्रत्येक X सेकंड/ms में एक फ़ंक्शन चलाना है और X सेकंड/ms के बाद रुकना है, तो आप setInterval() फ़ंक्शन के ठीक पहले एक शर्त रख सकते हैं।

0
EranM 4 सितंबर 2021, 08:44