ぷろみす

//再帰のループ (function recur(i=1){ setTimeout(()=>{ cons […]

//再帰のループ (function recur(i=1){ setTimeout(()=>{ cons […]

  • タグ:
  • タグはありません
//再帰のループ
(function recur(i=1){
	setTimeout(()=>{
		console.log(`${i}s recur`);
		if(i<10) recur(i+1);
	},1000);
})();

//Promiseでラップする
function sleep(seconds){
	return new Promise(
		function(resolve,reject){
			setTimeout(function(){
				return resolve();
			},seconds);
		}
	)
}
//以下は上のものと大体同じ(rejectはエラーがある場合resolveの代わりに使用。tryでcatchさせられる。)
//const sleep=s=>new Promise(res=>setTimeout(res,s));
//const sleep=require("util").promisify(setTimeout);

//async関数の返り値はPromiseでラップされる。
(async function(){
	for(let i=1;i<=10;i++){
		await sleep(1000);
		console.log(`${i}s async`);
	}
})();