js はサーバーと時間を効率的に同期します

php中世界最好的语言
リリース: 2018-04-17 11:38:22
オリジナル
1433 人が閲覧しました

今回は、jsをサーバー時間と効率的に同期する方法についてお届けします。jsをサーバー時間と効率的に同期するための注意事項を紹介します。

オプション 1: サーバーにアクセスして、カウントダウンごとに時刻をリクエストします

//开启定时器
var timer = setInterval(function () {  
  //执行请求,获取当前服务端时间并进行相应操作
}, 1000);
ログイン後にコピー

このソリューションは、経験が浅い開発者にとっては望ましくないことが知られています。これにより、サーバーに想像を絶する負荷がかかり、アプリケーションがクラッシュする可能性があるためです。このページに 1 分間滞在すると、リクエストは 60 回送信され、この時点で 100 人がこのページにアクセスしている場合、人数が増え続けると 1 分間に 6,000 回のリクエストが送信されます。間違いなくサーバーに不必要な負荷がかかります。さらに、リクエストに遅延があり、ネットワークステータスとも密接に関係しているため、このソリューションのカウントダウンにも大きな誤差が生じます。

オプション 2: サーバー時間に基づいてカウントダウンをサーバー タイムスタンプ から返します

//开启定时器
//假设请求获取到一个时间戳时间差 dateDiff
var timer = setInterval(function () {
  //每秒会获取本地时间,这样就算执行的周期不准确 也可以准确的获取时间差
  var countDown = endTime - (+Date.now())/1000 + dateDiff;
  // 倒计时页面渲染
}, 1000);
ログイン後にコピー

利点:

ページ内で 1 回リクエストすると、ライフサイクルの精度が高くなります。ページが長期間開いていても、依然として高い精度が維持されます。
欠点:

。 現在時刻は1秒ごとに取得されるため、カウントダウン中に意図的に現地時刻を変更するとカウントダウンが異常となります。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

Js+Canvasによる画像圧縮

angularJS+Ionicによるモバイル端末への画像アップロード(コード付き)

以上がjs はサーバーと時間を効率的に同期しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート