我想知道 IF 和 HOW ,可以编写一个观察其他功能的function
。
更准确地说,obsever
会跟踪observed
函数执行时间,如果后者超过给定时间值,observer
函数停止它。
所以,简单地说:
function observed() { // ... }
/**
* Run a function and stop if this exceeds a given time.
*
* @param {Function} observedFunc The function to run and observe.
* @param {Number} maxTime The maximum elapsed time allowed.
*/
function observer(observedFunc, maxTime) {
/*
* if (observedFunc exceed the time)
* stop observedFunc;
* return;
* else
* return; (when the observed function return)
*/
}
是否可以在不更改observed
功能的情况下承担此费用?
答案 0 :(得分:1)
仅在支持它的浏览器中使用Web Workers。如果您使用Web Worker运行observed
,则主脚本可以调用该工作线程上的terminate()。
通常(至少在历史上)Javascript为single threaded,因此observed
正在运行时,observer
无法阻止它。