Node.js 指定した時間が経過したら関数を実行する。
環境
OS: Windows10
Node.js: v6.9.4
setTimeout <時間が経過したら関数を実行>
- setTimeOutの公式ドキュメント
- 指定した時間が経過したら指定した関数を実行する。
// test0.js setTimeout(function() { console.log('good mornming!'); }, 1000);
test0.jsの出力結果
good morning!
実行から1000ミリ秒後に 'good morning!' と表示される。
setTimeout(callback, delay[, ...args])
引数
- callback <Function>
- 時間が経過したときに呼び出す関数
- delay <number>
- callbackを呼び出す前に待機する時間(ms)
- ...args <any>
- callbackを呼び出すときに渡すオプションの引数
処理
- delayで指定したミリ秒後に1度callbackの関数を呼び出す。
- 正確な時間(ms)ではない。できるだけ近い時間(ms)になっている
- delay > 2147483647 or delay < 1 の時はdelayは1が設定される。
- callbackが関数ではないときは TypeErrorがスローされる。
2つsetTimeout()を書いてみる
// test1.js setTimeout(function() { console.log('good mornming!'); }, 1000); setTimeout(function() { console.log('hello!'); }, 500);
test1.jsの出力結果
hello! good morning!
Node.jsは非同期処理のため、 'hello!' が先に表示されてしまう。
順番に上から処理をしたい場合は asyncモジュールで定義されている関数を使うと良い。
メモ:java charをintに変換
Character.getNumericValue();
を使う
char c = '2';
int a = Character.getNumericValue(c);
System.out.println(a + 3);
**出力**
5
参考サイト
メモ:「powershell」仮想マシンかどうか確かめるコマンド
次のコマンドをpowershellで実行すればわかる。
(get-wmiobject win32_computersystem).model
実機なのか仮想環境なのか調べられないかと思い、ググってみたら調べられるコマンドがあった
powershellで (get-wmiobject win32_computersystem).model とコマンドを打てばいいらしい。(コマンドプロンプトではできなかった)
仮想マシンの場合、 VMware Virtual Platform とか返ってくる。
実際のコンピュータの場合、そのパソコンの型番とかが返ってくる。
参考サイト
メモ:非負整数ってなに
ここをみたら一発で解決しました。
負ではない整数→0と正の整数ってことでした。