JavaScript版のsleep()とは?自作sleep関数の実装方法を解説
JavaScriptには、他の多くのプログラミング言語に存在するようなネイティブのsleep(スリープ)関数が用意されていません。しかし、いくつかのテクニックを使えば、この制限を簡単に回避することが可能です。
最も手軽な方法のひとつが、setTimeoutとasync/awaitを組み合わせて、独自のsleep関数を作成することです。
実装例
const sleep = milliseconds => new Promise(resolve => setTimeout(resolve, milliseconds))
// コールバックを使う場合
sleep(1000).then(() => console.log("waited 1 second!"))
// async / await を使う場合
const waitASec = async () => {
await sleep(1000)
console.log("waited 1 second!")
}
waitASec()実行結果
waited 1 second! waited 1 second!
コードの仕組み
このsleep関数は、引数として受け取ったミリ秒数をもとに新しいPromiseを返します。Promiseの内部ではsetTimeoutが呼び出され、指定した時間が経過したタイミングでresolveが実行されます。そのため、awaitキーワードと組み合わせることで、指定時間だけ処理を一時停止させることができるのです。
利用時の注意点
awaitを使用してsleep関数を待機させる場合は、必ずasync関数の中で呼び出す必要があります。一方、コールバック形式(then)であれば通常の関数内でも利用可能です。用途に応じて使い分けるとよいでしょう。
-
JavaScriptのアラートボックスとは?基本的な使い方と実装例をわかりやすく解説
アラートボックスとはアラートダイアログボックス(alert box)は、主にユーザーへ警告メッセージを伝えるために使われる仕組みです。例えば、テキストの入力が必須のフォームフィールドにユーザーが何も入力していない場合、バリデーション(入力チェック)の一環としてアラートボックスで警告を表示できます。もちろん、アラートボックスは警告に限らず、もっと親しみやすいメッセージを表示する用途にも活用できます。アラートボックスには「OK」ボタンが1つだけ表示され、ユーザーはそのボタンを押して処理を先へ進めます。alert()メソッドの基本構文アラートボックスは、window.alert()メソッド(通常は「
-
JavaScriptのDateオブジェクトとは?作成方法と基本の使い方を解説
Dateオブジェクトは、JavaScript言語に組み込まれているデータ型のひとつです。このオブジェクトを利用すると、日付や時刻の取得・操作を簡単に行うことができます。Dateオブジェクトは、new Date() コンストラクタを使って生成します。引数の渡し方によって、さまざまな形式で日付を作成できるのが特徴です。Dateオブジェクトの作成方法new Date() new Date(milliseconds) new Date(datestring) new Date(year, month, date[, hour, minute, second, millisecond])new Date