Promise的应用

service.js

const xhr = new XMLHttpRequest();
const service = (option) => {
    xhr.open(option.method, option.url, true);
    if (option.headers) {
        for(let k in option.headers) {
            xhr.setRequestHeader(k, option.headers[k]);
        }
    }
    function getHttp(resolve, reject) {
        xhr.onreadystatechange = () => {
            if (xhr.readyState == 4) {
                console.log('yes');
                if (xhr.status == 200) {
                    if (xhr.response) {
                        resolve(JSON.parse(xhr.response));
                    }
                } else {
                    reject(xhr.response);
                }
            }
        }
        xhr.send(option.data? JSON.stringify(option.data) : null);
    }
    return new Promise(getHttp);
}
export default service;

调用:

import service from './service.js'
   service({
      method: 'get',
      url: 'http://xx.xx.xx.xx:xx/xx/xx',
      headers: {
        'code1': '2233',
        'code2': '1121'
      },
      data: null
    }).then(json => {
      console.log(json);
    })
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。