-
-
Save gatspy/3dec6a1a6496014268474446809272b1 to your computer and use it in GitHub Desktop.
ES7's async/await syntax.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ES7, async/await | |
function sleep(ms = 0) { | |
return new Promise(r => setTimeout(r, ms)); | |
} | |
(async () => { | |
console.log('a'); | |
await sleep(1000); | |
console.log('b'); | |
})() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ES6, native Promises, arrow functions, default arguments | |
function sleep(ms = 0) { | |
return new Promise(r => setTimeout(r, ms)); | |
} | |
console.log('a'); | |
sleep(1000).then(() => { | |
console.log('b'); | |
}); | |
// or if we were to be strictly identical, an "async" function returns a | |
// Promise, so this is more accurate, but the fluff isn't needed for in this case | |
(function() { | |
return new Promise((resolve, reject) => { | |
sleep(1000).then(() => { | |
console.log('b'); | |
resolve(); | |
}); | |
}); | |
})(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ES6, native Promises ONLY | |
function sleep(ms) { | |
ms = ms || 0; | |
return new Promise(function(resolve) { | |
setTimeout(resolve, ms); | |
}); | |
} | |
(function() { | |
console.log('a'); | |
sleep(1000).then(function() { | |
console.log('b'); | |
}); | |
})(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ES5, nothing special | |
function sleep(ms, callback) { | |
ms = ms || 0; | |
setTimeout(callback, ms); | |
} | |
(function() { | |
console.log('a'); | |
sleep(1000, function() { | |
console.log('b'); | |
}); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment