关于前端:Promise请求

function ajax (url) {
  return new Promise((resolve, rejects) => {
    // 创立一个XMLHttpRequest对象去发送一个申请
    const xhr = new XMLHttpRequest()
    // 先设置一下xhr对象的申请形式是GET,申请的地址就是参数传递的url
    xhr.open('GET', url)
    // 设置返回的类型是json,是HTML5的新个性
    // 咱们在申请之后拿到的是json对象,而不是字符串
    xhr.responseType = 'json'
    // html5中提供的新事件,申请实现之后(readyState为4)才会执行
    xhr.onload = () => {
      if(this.status === 200) {
        // 申请胜利将申请后果返回
        resolve(this.response)
      } else {
        // 申请失败,创立一个谬误对象,返回谬误文本
        rejects(new Error(this.statusText))
      }
    }
    // 开始执行异步申请
    xhr.send()
  })
}

ajax('/api/user.json').then((res) => {
  console.log(res)
}, (error) => {
  console.log(error)
})

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理