ホームページ > ウェブフロントエンド > jsチュートリアル > タイムアウトを設定した後にコードの実行を 5 秒遅らせるにはどうすればよいですか?

タイムアウトを設定した後にコードの実行を 5 秒遅らせるにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-26 03:26:27
オリジナル
324 人が閲覧しました

How Can I Delay Code Execution for 5 Seconds After Setting a Timeout?

コード実行を 5 秒延期する

提供されたコードは、setTimeout 関数を使用して操作の実行を 5 秒遅延させようとします:

<code class="javascript">function stateChange(newState) {
  setTimeout('', 5000);

  if(newState == -1) {
    alert('VIDEO HAS STOPPED');
  }
}</code>
ログイン後にコピー

ただし、コードはタイムアウトをスケジュールした後すぐに条件 newState == -1 をチェックし、意図した遅延を無効にします。

ブラウザ/Node.js ソリューション

適切な解決策には、非同期の利用が含まれます。 5 秒が経過するまで if ステートメントの実行を延期するプログラミング手法。ブラウザーの場合、async/await 構文を使用できます:

<code class="javascript">// Utility function
const delay = ms => new Promise(res => setTimeout(res, ms));

// Function to wait 5 seconds before checking newState
const stateChange = async (newState) => {
  await delay(5000);
  if (newState == -1) {
    alert('VIDEO HAS STOPPED');
  }
};</code>
ログイン後にコピー

Node.js 16 以降の場合、組み込みの Promise ベースの setTimeout を利用できます:

<code class="javascript">import { setTimeout } from "timers/promises";

const stateChange = async (newState) => {
  await setTimeout(5000);
  if (newState == -1) {
    alert('VIDEO HAS STOPPED');
  }
};</code>
ログイン後にコピー

ブラウザーの async/await サポートと、組み込みの Promise ベースの setTimeout の Node.js バージョンを必ず確認してください。

以上がタイムアウトを設定した後にコードの実行を 5 秒遅らせるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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