क्या window.requestAnimationFrame थ्रेडिंग करता है? [डुप्लिकेट]
क्या window.requestAnimationFrameफ़ंक्शन को नए थ्रेड्स बनाने देता है ताकि फ़ंक्शन को यह कहा जा सके और फ़ंक्शन स्वयं समानांतर चलता है? क्योंकि मुझे समझ नहीं आ रहा है कि निम्न कोड क्यों, स्टैक ओवरफ्लो में परिणाम नहीं करता है।
window.requestAnimationFrameकॉल mainऔर mainकॉल वगैरह window.requestAnimationFrame...।
w.rAF-> main-> w.rAF-> main-> w.rAF। । ।
main.js
function main(currentTime){
window.requestAnimationFrame(main);
console.log(currentTime);
}
window.requestAnimationFrame(main);
index.html
<script src="main.js"></script>
जवाब
requestAnimationFrameअगले फ्रेम के प्रस्तुत होने से पहले फ़ंक्शन को चलाने के लिए ब्राउज़र को बताता है। यदि आप फिर requestAnimationFrameसे मुख्य में कॉल करते हैं तो यह उस फ़ंक्शन को अगले (वर्तमान नहीं) एनीमेशनफ्रेम के लिए कतार पर रख देगा।
जावास्क्रिप्ट में केवल श्रमिकों को पिरोया जाता है।
requestAnimationFrameईवेंट लूप में विशिष्ट बिंदु पर कोड निष्पादित करने के लिए एक विशेष कार्य है। मुझे यह वीडियो यह बताने में काफी मददगार लगा कि इवेंट लूप कैसे काम करता है:https://www.youtube.com/watch?v=cCOL7MC4Pl0
सं। कार्य requestAnimationFrameपंक्तिबद्ध किए गए, थ्रेडेड नहीं।