10得票4回答
为什么JavaScript中的setTimeout()在循环中无法工作?

请看以下代码: 考虑以下代码: <!DOCTYPE html> <html> <head> <script> function timedText() { var x=document.getElementById('txt'); va...

81得票4回答
不阻塞用户界面的最佳数组迭代方式

我需要遍历一些大型数组并从 API 调用中将它们存储到 Backbone 集合中。在不使循环导致界面失去响应的情况下,最好的方法是什么? 由于返回的数据量很大,ajax 请求的返回也会阻塞。我想,我可以将其分割并使用 setTimeout 以较小的块异步运行,但是否有更简单的方法呢? 我认...

8得票1回答
有比setTimeOut(fn, 0)更好的选择吗?

是否有其他方法可以实现在JavaScript的消息队列上安排回调函数以在当前堆栈为空后运行? 换句话说,是否有一种方法,无论是使用Promises还是第三方软件包,将回调推送到任务队列中,以便在当前堆栈为空后运行? 换句话说,有哪些等效/替代方法可以传递0给setTimeout以利用异步回...

232得票11回答
React hooks - 清除定时器和间隔的正确方式

我不明白为什么当我使用setTimeout函数时,我的React组件开始无限制地进行console.log。一切都在工作,但电脑却开始严重滞后。有些人说timeout中的函数会改变我的状态,并重新渲染组件,从而设置新的计时器等等。现在我需要了解如何正确清除它。export default fu...

17得票5回答
在JavaScript中在另一个线程内运行代码

我想要在页面上分离线程以防止GUI冻结。为此,我将会冻结GUI的函数放在另一个带有setTimeout的线程中运行,但仍然会出现冻结。 以下是代码和JSBin链接:<!DOCTYPE html> <html> <head> <script src...

30得票6回答
等待 setInterval() 完成

我想在我的Javascript代码中添加一个小的掷骰子效果。我认为使用setInterval()方法是一个好方法。我的想法是下面这段代码(仅用于测试):function roleDice() { var i = Math.floor((Math.random() * 25) + 5);...

7得票5回答
setTimeout似乎会改变我的变量!为什么?

我会迅速进入正题,代码已经进行了注释,所以你知道我的意图。基本上,我正在构建一个小型的基于HTML5的游戏,与其将数据保存在服务器或cookie中,我只会提供玩家一个关卡代码。当玩家将代码(以简单哈希的形式)输入文本框中,并点击按钮加载该关卡时,函数“l”被调用。该函数首先检索玩家的输入,然后...

96得票6回答
延迟jQuery hover事件?

我想在 jQuery 中延迟鼠标悬停事件。当用户悬停在链接或标签上时,我会从文件中读取内容。如果用户只是在屏幕上移动鼠标,我不希望立即触发此事件。是否有延迟触发事件的方法? 谢谢。 示例代码:$(function() { $('#container a').hover(functi...

369得票12回答
TypeScript - 使用正确版本的 setTimeout(node vs window)

我正在升级一些旧的TypeScript代码以使用最新的编译器版本,但在调用setTimeout时遇到了问题。该代码期望调用浏览器的setTimeout函数并返回一个数字: setTimeout(handler: (...args: any[]) => void, timeout: numbe...

8得票2回答
在JavaScript的协作线程意义上,有一种正确的“yield”方式吗?

我正在编写一个Ubiquity插件,在Ajax查询的长函数回调中,由于阻塞了GUI线程,导致Firefox无响应。 明显的解决方案似乎是使用某种延迟执行(即我们希望定期将“执行此查询”函数添加到事件队列的末尾,然后允许执行其他命令)。 我唯一能想到的方法就是使用setTimeout,并设置...