微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

异步操作 - js [ES6]

异步操作

  • 同时进行多个操作,代码混乱

  • 小例子:回调地狱

同步操作

  • 一次只能进行一个操作

Promise - 封装

let p = new Promise(function(resolve, reject){
  // 异步
  //resolve - 解决
  //reject - 拒绝
   $.ajax({
      url: 'data/1.txt',
      dataType: 'json',
      success(arr){
        resolve(arr)
      },
      error(res){
        reject(res)
      }
   })
})

//第一种
p.then(function(arr){
  alert('成功')
  console.log(arr)
},function(res){
  alert('失败')
  console.log(res)
})

//第二种,必须全部请求成功
Pomise.all([
  p,
  p1,
  ...
]).then(arr=>{
  console.log(arr)
},res=>{
  console.log(res)
})

async/await

  • 普通函数 - 一直执行倒结束

  • async函数 - 能够暂停执行

async function show(){
  let a = 12
  let b = 5
  
  let data = await $.ajax(url: 'data/1.txt', dataType: 'json')
  
  alert(a+b+data[0])
}

show()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐