//Promiseconst sleep = time => { return new Promise(resolve => setTimeout(resolve,time))}sleep(1000).then(()=>{ console.log('sleep')})//Generatorfunction* sleepGenerator(time) { yield new Promise(function(resolve,reject){ setTimeout(resolve,time); })}sleepGenerator(1000).next().value.then(()=>{ console.log('sleep')})//asyncfunction sleep(time) { return new Promise(resolve => setTimeout(resolve,time))}async function output() { let out = await sleep(1000); console.log('sleep') return out;}output();//ES5function sleep(callback,time) { if(typeof callback === 'function') setTimeout(callback,time)}function output(){ console.log('sleep');}sleep(output,1000);