首页 > Web开发 > 详细

js async02

时间:2020-01-16 13:55:23      阅读:53      评论:0      收藏:0      [点我收藏+]

function resolveAfter2Seconds() {
  console.log(new Date().getSeconds())
  console.log(‘starting slow promise‘)
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(‘slow‘)
      console.log(new Date().getSeconds())
      console.log(‘slow promise is done‘)
    }, 2000 )
  })
}
function resolveAfter1Second() {
  console.log(new Date().getSeconds())
  console.log(‘starting fast promise‘)
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(‘fast‘)
      console.log(new Date().getSeconds())
      console.log(‘fast promise is done‘)
    }, 1000 )
  })
}
var sequentialStart = async function() {
  console.log(new Date().getSeconds())
  console.log(‘==SQUENTIAL START==‘)

  // 1. Execution gets here almost instantly
  const slow = await resolveAfter2Seconds()
  console.log(new Date().getSeconds())
  console.log(slow)
  const fast = await resolveAfter1Second()
  console.log(new Date().getSeconds())
  console.log(fast)
}
sequentialStart()

//

28
==SQUENTIAL START==
28
starting slow promise
30
slow promise is done
30
slow
30
starting fast promise
31
fast promise is done
31
fast

js async02

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

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