В настоящее время я регистрирую приложение AJAX с сообщениями, которые включают время определенных взаимодействий. Итак, у меня есть пара мест, где код следует такой схеме:
var startTime = new Date();
this.doFunction();
var endTime = new Date();
logger.log("doFunction took " + (endTime - startTime) + " milliseconds.");
То, что я собираюсь сделать, это разделить синхронизацию на одну библиотечную функцию, которая принимает функцию в качестве параметра, чтобы выглядеть примерно так:
time : function(toTime) {
var startTime = new Date();
eval(toTime);
var endTime = new Date();
logger.log(toTime + " took " + (endTime - startTime) + " milliseconds.");
}
(синтаксис может быть неправильным, я не слишком знаком с JavaScript)
Так что тогда вместо того, чтобы делать выбор времени, я бы просто сделал:
time(this.doFunction);
У меня вопрос: разные браузеры ведут себя по-разному, когда дело доходит до eval()
? Например, запускать eval в новый поток, что приводит к неправильной синхронизации?
Буду признателен за любые другие советы по выбору времени.