标签:ons OLE rom onload 异步 body src fun read
Promise.prototype.then()
接受两个参数resolved 回调 rejected 回调(可选)Promise.prototype.catch()
是.then(null, rejection)或.then(undefined, rejection)的> 别名,用于指定发生错误时的回调函数。
Promise.prototype.finally()
方法用于指定不管 Promise 对象最后状态如何,都会执行的操作Promise.reject()
基本用法
// 传入 resolve reject 参数 返回一个promise对象
const promise = new Promise((resolve,reject) => {
// code
if() {
return resolve(value);
}
resolve(value);
});
promise.then((value) => {
// code
}).catch((err) => {
// code
})
promise异步加载图片
function loadImage_Async(url) {
return new Promise((resolve, reject) => {
const img = new Image(100, 100); //相当于document.createElement('img')
img.onload = function() {
resolve(img);
};
img.onerror = function() {
reject(new Error("File Not found!"));
};
img.src = url;
});
}
window.onload = function() {
loadImage_Async("/1.png")
.then(img => {
document.body.appendChild(img);
})
.catch(err => {
console.log(err);
});
};
promise 封装Ajax
function ajax_promise(url) {
return new Promise((resolve, reject) => {
const handle = function() {
if (this.status === 200) {
resolve(this.response);
}
};
const xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.onreadystatechange = handle;
xhr.responseType = 'json';
xhr.setRequestHeader("Accept", "application/json");
xhr.send();
});
}
ajax_promise(url)
.then(data => {
console.log(data);
})
.catch(err => {
console.log(err);
});
标签:ons OLE rom onload 异步 body src fun read
原文地址:https://www.cnblogs.com/rosendolu/p/10611544.html