Window.requestAnimationFrame threading gerçekleştiriyor mu? [çiftleme]
Does window.requestAnimationFrameişlev denir fonksiyonu ve kendisi paralel işlevini izin yeni konuları oluşturmak? Çünkü aşağıdaki kodun neden yığın taşmasına neden olmadığını anlamıyorum.
window.requestAnimationFramearamalar mainve mainaramalar window.requestAnimationFramevb.
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>
Yanıtlar
requestAnimationFrametarayıcıya, sonraki kare oluşturulmadan önce işlevi çalıştırmasını söyler. Tekrar requestAnimationFramemain içinde çağırırsanız , bu işlevi bir sonraki (mevcut değil) animationFrame için kuyruğa koyacaktır.
Javascript'te yalnızca işçiler iş parçacığına sahiptir.
requestAnimationFrameOlay Döngüsünün belirli bir noktasında kodu yürütmek için özel bir işlevdir. Olay Döngüsünün nasıl çalıştığını açıklamada bu videoyu oldukça yararlı buldum:https://www.youtube.com/watch?v=cCOL7MC4Pl0
Hayır requestAnimationFrame. Aktarılan işlevler sıraya alınır, iş parçacığı haline getirilmez.