ES6的Promise异步方法,js原生请求

创建Promise异步方法
var saveCanvas = function () {
    this.canvas;
    this.context;
};
saveCanvas.prototype.baseToJPG=function (base,timetype) {
    var that = this;
    var p = new Promise(function (resolve,reject) {
        var _type = timetype ?'forver' : 'one'
        var _data = 'url_data='+encodeURIComponent(base) + '&time_type=' + encodeURIComponent(_type);
        var xmlHttp = new XMLHttpRequest();
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                var data = xmlHttp.responseText;
                var data1 = eval("("+data+")");
                if(data1.code == "SUCCESS"){
                    resolve(data1.url);
                }else{
                    reject(data1);
                }
            }
        }
        xmlHttp.open("POST", "url",true);
        xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xmlHttp.send(_data);
    });
    return p
};

调用

var sc = new saveCanvas();
sc.initcanvs(options.init).then((value)=> {
    return sc.baseToJPG(value)//转绝对路径时用到
})
.then((value)=> {
    document.getElementById(options.saveid).src = value
}).catch((status)=> { // 如果AJAX失败,获得响应代码
    console.log('ERROR: ' + status);
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值