<!--親の顔より見た光景-->

仕事に怯える21歳SE。日々の発見を残していきます。

【JavaScript】await / async でタイマー

コピペ用なので解説は無し。
await / async キーワードを使用してタイマー関数を作ることが可能。

【timer.html】

<!DOCTYPE=html>
<html>
	<head>
		<meta charset="UTF-8"/>
		<title>Timer</title>
		<script type="text/javascript" src="timer.js"></script>
	</head>
	<body>
	</body>
</html>

【timer.js】

var wait = function( ms ) {
	return new Promise( ( resolve, reject ) => {
		setTimeout( () => {	resolve( '_' ); }, ms );
	});
};

var main = async function() {
	for ( var i = 0; i < 10; i++ ) {
		console.log( i + 1 );
		await wait( 1000 );
	}
};
main();

main関数をasync functionにし、wait関数ではPromiseオブジェクトを返す。