body{ cursor: url("https://images.cnblogs.com/cnblogs_com/szqblog/1889956/o_201130135019Cursor.png"), auto; }

用promise 封装 ajax(来自牛客)

请使用Promise封装Ajax操作
原始的Ajax操作如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var onSuccess = function(result){}; //成功的回调
var onFail = function(error){}; //失败的回调
var req = new XMLHttpRequest();
req.open("POST""www.baidu.com"true);
req.onload = function(){
  if(req.readyState === 4 && req.status === 200){
    onSuccess(req.response);
  else {
    onFail(req.statusText);
  }
}
req.onerror = function(){
  onFail(Error("网络异常"));
}
 
解:------------------------------------------------------------------------------------------------------------------------------------------
const ajax = url => {
    return new Promise((resolve, reject) => {
        let req = new XMLHttpRequest();
        req.open("POST", url, true);
        req.onload = () => {
          if(req.readyState === 4 && req.status === 200){
            resolve(req.response);
          else {
            reject(req.statusText);
          }
        }
        req.onerror = () => {
          reject(Error("网络异常"));
        }
    })
}

 

posted @ 2020-12-06 11:37  1234前来报到  阅读(69)  评论(0编辑  收藏  举报