首页 > Web开发 > 详细

js async05

时间:2020-01-16 13:20:02      阅读:69      评论:0      收藏:0      [点我收藏+]

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!