//new Promise(resolve,reject,finally); //只有两种结果,回调的升级版,一段时间才执行,因此可以进行异步的处理,防止阻塞。
const isPregnant = false;
const promise = new Promise((resolve, reject) => {
if (isPregnant) {
resolve('孩子的父亲')
} else {
reject('女孩的老公')
}
})
promise.then(name => {
console.log(`男人成为了${name}`)
}).catch(name => {
console.log(`男人成为了${name}`)
}).finally(() => {
console.log(`男人和女孩最终结婚了`)
})
//
const imgAddress = 'https://timsa.baidu.com'
const imgPromise = (url) => {
return new Promise((resolve, reject) => {
const img = new Image();
img.src = url;
img.onload = () => {
resolve(img);
}
img.onerror = () => {
reject(new Error('图片有误'));
};
});
};
imgPromise(imgAddress)
.then(img => {
document.body.appendchild(img);
})
.catch(err => {
document.body.innerHTML = err;
});
console