美文网首页
come on,来看async/await的本质

come on,来看async/await的本质

作者: TOPro | 来源:发表于2018-05-24 11:15 被阅读7次

async/await:

  • 本质就是Promise的语法糖

  • 优点

    • 简化多余的{}嵌套,可读性友好
    • 易于整理逻辑,编码体验良好
  • 缺点

    • 屏蔽了原理,增加学习成本
    • 所有的可以并发的操作,使用 async/await 都会变成串行操作,这应该是async/await的硬伤。

看下面的demo getData()和getData2(),自行体会

function getSyncTime() {
  return new Promise((resolve, reject) => {
    try {
      let startTime = new Date*1;
      setTimeout(() => resolve( new Date*1 - startTime ), 500)
    } catch ( err ) {
      reject( err )
    }
  })
}

async function getSyncData() {
  let time = await getSyncTime()
  let data = `endTime - startTime = ${time}`
  return data
}

async function getData() {
  let data = await getSyncData()
  console.log( data )
}


function getData2(){
    let data;
    getSyncData()
        .then(console.log)
        .catch(console.error)
    ;
}


getData();
getData2();

相关文章

网友评论

      本文标题:come on,来看async/await的本质

      本文链接:https://www.haomeiwen.com/subject/atnjjftx.html