gpt4 book ai didi

javascript - 使用 requestAnimationFrame 创建无限事件循环是否有性能成本

转载 作者:行者123 更新时间:2023-12-03 21:47:12 32 4
gpt4 key购买 nike

如果我需要 javascript 中的事件循环永远运行(可能在循环内查询 REST api),如果按如下方式实现,是否会有性能损失

function eventLoop() {
// Call to REST api
requestAnimationFrame(eventLoop);
}
requestAnimationFrame(eventLoop);

或如这里所示

http://codepen.io/chriscoyier/pen/ltseg

最佳答案

requestAnimationFrame 顾名思义,用于渲染动画。它具有高达 60 fps 左右的高迭代率。如果您正在轮询 API(这可能需要花费大量时间才能返回响应),这听起来有点矫枉过正。

为什么不简单地使用setTimeout?您可以轮询 API,然后在返回请求时,可以选择再次轮询。

var timer;

function pollAPI() {
$.ajax({
success: function(response) {
if (response == 'something') {
// do something
} else {
// poll again
timer = setTimeout(pollAPI, 50);
}
}
});
}

pollAPI();

关于javascript - 使用 requestAnimationFrame 创建无限事件循环是否有性能成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31778032/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com