一、promise封装原生ajax
1、get:
缓存、请求长度受限、会被历史保存记录
- 无副作用(不修改资源),幂等(请求次数与资源无关)的场景
<script>
function getRequest(url) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest()
xhr.open('GET', url, true)
xhr.onreadystatechange = function () {
if(xhr.readyState!=4)return
if (xhr.readyState === 4 && xhr.status === 200) {
resolve(this.responseText, xhr)
} else {
reject(xhr.responseText)