微任务是否可以保证在排队的同一动画帧中触发?

时间:2016-11-17 05:27:17

标签: javascript asynchronous task requestanimationframe

例如,Promises使用微任务,我验证here它们可以在动画帧结束之前(在Chrome中)完成填充。我说的是用requestAnimationFrame制作的帧。

我想知道我们有什么保证,因为微型任务将在相同的动画帧中触发,在微动任务排队的一些逻辑之后和动画帧结束之前(当解析动画帧内的一个承诺时)。 / p>

如果有某种程度的保证,那么我相信这会为Does MutationOberserver handler fire within the same animation frame?提供答案。这甚至可能是同一个问题(间接)。

1 个答案:

答案 0 :(得分:0)

好像是

尝试

function a() {
    requestAnimationFrame(b=>{
        console.log(b, 'rAF');
        Promise.resolve(1).then(()=>console.log('promise'));
    })}
a();a();

您将获得

585838.7970909999 rAF
promise
585838.7970909999 rAF
promise