[解決済み] コンピュータがスリープ状態になると、setTimeoutはどうなるのでしょうか?
質問
最近のウェブブラウザで、私が
setTimeout
を 10 分間実行し (12:00)、5 分後にコンピューターをスリープ状態にした場合、システムが再び起動したときに何が起こるでしょうか? 10 分が経過する前に (12:09 に) 起きた場合、またはずっと後に (16:00 に) 起きた場合はどうなりますか?
私が質問している理由は、10 分ごとに新しい認証トークンを要求させたいからで、長い時間後に起動した場合、ブラウザが正しいことを行ってすぐに新しいトークンを要求するかどうかはわかりません。
明確な説明 : そして、サーバーは古くて無効なトークンを拒否します。
どのように解決するのですか?
私がテストした限りでは、コンピュータが起動した後に停止して再開するだけです。コンピューターが目を覚ますと、setInterval/setTimeout は時間が経過したことを認識しません。
の精度を当てにしない方がいいと思います。
setTimeout/Interval
の精度に頼る必要はないと思います。グーグルクロームの場合、私は
最近発見した
の場合、タイムアウト/間隔 (1 秒より短い) は、それがアクティブになったタブのフォーカスが失われた場合、1 秒に 1 回に減速されることを最近発見しました。
それとは別に、タイムアウト/間隔の精度は、実行中の他の関数などに依存します。要するに、それはあまり正確ではありません。
ですから、インターバルとタイムアウトを使って、それによって起動した関数内のstarttimeと時刻を照らし合わせれば、より精度が高くなるはずです。たとえば、12:00 に開始し、コンピューターがスリープして 16:13 に起動した場合、12:00 に対して 16:13 をチェックすれば、トークンを更新する必要があることを確認できます。時刻の比較を使用した例を以下に示します。 はこちら
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] JavaScriptの変数のスコープとは何ですか?
-
[解決済み] JavaScriptの「new」キーワードとは何ですか?
-
[解決済み] Bowerとnpmの違いは何ですか?
-
[解決済み] varキーワードの目的と、どのような場合に使用する(または省略する)べきですか?
-
[解決済み] JSONウェブトークンの無効化
-
[解決済み】JavaScript版sleep()とは?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JWT(JSONウェブトークン)の有効期限を自動的に延長する機能
-
[解決済み] Chrome:バックグラウンドのタブでタイムアウト/インターバルが中断?
-
[解決済み】Chromeでタブが非アクティブのときにもsetIntervalを動作させるにはどうすればいいですか?
-
[解決済み] JSのDateからDay名
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] オブジェクトの配列からReactコンポーネントをレンダリングする
-
[解決済み] AJAX Mailchimp サインアップフォームの統合
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?