Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save davidystephenson/690ebfd9d4dd3f4cf86c67770fed549f to your computer and use it in GitHub Desktop.
Save davidystephenson/690ebfd9d4dd3f4cf86c67770fed549f to your computer and use it in GitHub Desktop.
<script>
// First log 'start'
// Then log "starting alpha"
// Then, sleep for 2 seconds
// Then, log 'alpha'
// Then, log "starting beta"
// Then, 4 seconds later, log beta
// Then, log "starting gamma"
// Then, 1 second later log gamma
// Then, log "starting delta"
// Then, 3 seconds later log delta
console.log('start')
function sleep (milliseconds) {
return new Promise((resolve) => {
setTimeout(() => {
resolve()
}, milliseconds)
})
}
console.log('starting alpha')
sleep(2000).then(() => {
console.log('alpha')
console.log('starting beta')
return sleep(4000)
}).then(() => {
console.log('beta')
console.log('starting gamma')
return sleep(1000)
}).then(() => {
console.log('gamma')
console.log('starting delta')
return sleep(3000)
}).then(() => {
console.log('delta')
})
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment