简单的promise例⼦
let _promise = new Promise((resolve, reject) => {
// promise最核⼼的是状态的改变,要想把异步变同步还是要async await
const xhr = new XMLHttpRequest();
xhr.open('get', URL);
xhr.send();
xhr.addEventListener('readystatechange', () => {
if (adyState == 4) {
ajax实例里面的函数if (xhr.status == 200) {
resolve(JSON.sponse));
} else {
reject('不是前端的锅');
}
}
})
});
// then⾥⾯是成功的回调函数与失败的回调函数({}⾥⾯的是成功接受或失败后要执⾏的操作)
_promise.then(
// 成功回调
(ajaxdata) => {
console.log(ajaxdata);
ajaxdata.data.forEach(item => {
console.log(item);
});
},
// 失败回调
(msg) => {
console.log(msg);
});
// 链式调⽤(1)——(3)只要有⼀个失败都不会继续执⾏,并且不会到下⼀步的reject()⽽是到(4),被catch()捕获,(5)⽆论成功或失败都会执⾏        // _promise.then(()=>{},()=>{}) (1)
//        .then(()=>{},()=>{}) (2)
//        .then(()=>{},()=>{}) (3)
//        .catch(()=>{})      (4)
//        .finally(()=>{});    (5)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。