Javascript истекшего времени функции наблюдателя - PullRequest
2 голосов
/ 02 сентября 2011

Я хотел бы знать, ЕСЛИ и КАК можно написать function, который наблюдает за другой функцией.Точнее, obsever отслеживает функцию observed время выполнения , а в случае, если последняя превышает заданное значение времени, observer функция остановит it.

Итак, кратко:

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?

1 Ответ

1 голос
/ 02 сентября 2011

Только с Web Workers в браузерах, которые его поддерживают.Если вы запустили observed из-за отказа от Web Worker, то основной сценарий мог бы вызвать terminate () на работнике.

Обычно (по крайней мере, исторически) Javascript однопоточный, и поэтому, пока observed работает, observer не может его остановить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...