标签:function resolve img promise new Promise
- Promise常用方法
Promise.prototype.then()
接受两个参数resolved 回调 rejected 回调(可选)Promise.prototype.catch()
是.then(null, rejection)或.then(undefined, rejection)的> 别名,用于指定发生错误时的回调函数。
Promise.prototype.finally()
方法用于指定不管 Promise 对象最后状态如何,都会执行的操作
- Promise.all()
- Promise.race()
- Promise.resolve()
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); });
标签:function,resolve,img,promise,new,Promise 来源: https://www.cnblogs.com/rosendolu/p/10611544.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。