js async05
2021-04-29 16:28
标签:rom cond promise gets function cti fast done console
// ==PARALLEL WITH await Promise.all== at: 50 js async05 标签:rom cond promise gets function cti fast done console 原文地址:https://www.cnblogs.com/anch/p/12200432.htmlfunction resolveAfter2Seconds() {
console.log(‘slow start at: ‘ + new Date().getSeconds())
return new Promise(resolve => {
setTimeout(() => {
resolve(‘slow‘)
console.log(‘slow done at: ‘ + new Date().getSeconds())
}, 2000 )
})
}
function resolveAfter1Second() {
console.log(‘fast start at: ‘ + new Date().getSeconds())
return new Promise(resolve => {
setTimeout(() => {
resolve(‘fast‘)
console.log(‘fast done at: ‘ + new Date().getSeconds())
}, 1000 )
})
}
var parallel = async function() {
console.log(‘==PARALLEL WITH await Promise.all== at: ‘ + new Date().getSeconds())
await Promise.all([
(async () => console.log(await resolveAfter2Seconds() + ‘ at: ‘ + new Date().getSeconds()))(),
(async () => console.log(await resolveAfter1Second() + ‘ at: ‘ + new Date().getSeconds()))()
])
console.log(‘parallel done at: ‘ + new Date().getSeconds())
}
parallel()
slow start at: 50
fast start at: 50
fast done at: 51
fast at: 51
slow done at: 52
slow at: 52
parallel done at: 52