eval()のスレッド化の動作はブラウザーによって異なりますか?
-
19-08-2019 - |
質問
現在、特定のインタラクションの時間を含むメッセージでAJAXアプリケーションを記録しています。そのため、コードが次のようなパターンに従う場所がいくつかあります。
var startTime = new Date();
this.doFunction();
var endTime = new Date();
logger.log("doFunction took " + (endTime - startTime) + " milliseconds.");
私がやろうとしているのは、タイミングを1つのライブラリ関数に分離することです。ライブラリ関数は、パラメータとして関数を取り、次のようになります。
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を新しいスレッドに発射して、タイミングを不正確にするなど。
タイミングに関する他のアドバイスをいただければ幸いです。
他のヒント
評価は同期する必要があります。
evalの使用を避ける必要があるため、eval()
ではなくtoTime.call()
を使用する必要があります。
所属していません StackOverflow