Window.requestAnimationFrame threading gerçekleştiriyor mu? [çiftleme]

Sep 01 2020

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

1 Snuffels11 Sep 01 2020 at 13:09

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

1 Quentin Sep 01 2020 at 12:53

Hayır requestAnimationFrame. Aktarılan işlevler sıraya alınır, iş parçacığı haline getirilmez.