js async05

2021-04-29 16:28

阅读:291

标签:rom   cond   promise   gets   function   cti   fast   done   console   

function 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()

//

==PARALLEL WITH await Promise.all== at: 50
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

js async05

标签:rom   cond   promise   gets   function   cti   fast   done   console   

原文地址:https://www.cnblogs.com/anch/p/12200432.html


评论


亲,登录后才可以留言!