【发布时间】:2016-04-06 19:55:09
【问题描述】:
我们在我们的项目中使用require.js,我们需要覆盖setTimeout
在第 1802 行,这是我们需要设置为 0 或 以某种方式完全忽略 setTimeout(我的意思是超过它)的代码,如果我改变了这个问题它在开源代码中明确当我更改版本时代码将丢失,我应该如何从 outside 覆盖这个 setTimout 仅用于 require.js 文件并保留它,只要我使用它lib,是否可以在 JS 中以优雅的方式做到这一点?
/**
* Execute something after the current tick
* of the event loop. Override for other envs
* that have a better solution than setTimeout.
* @param {Function} fn function to execute later.
*/
req.nextTick = typeof setTimeout !== 'undefined' ? function (fn) {
setTimeout(fn, 4);
} : function (fn) { fn(); };
这是 Git 中 require.js 开源的链接 https://github.com/jrburke/requirejs/blob/master/require.js 第 1802 行
【问题讨论】:
-
为什么要改成0,而不是4ms?
-
@RowlandShaw - HI Rowland 这就是stackoverflow.com/questions/6032429/…
-
根据那里的答案,您仍然被限制为每秒打一个电话
-
@RowlandShaw 那么您还有其他更好的想法如何使用 require.js 跳过每秒调用 1 次的问题吗?
-
这是一个浏览器限制,所以除了不支持在后台使用之外,该浏览器不支持
标签: javascript requirejs prototype