//再帰のループ (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`); } })();