Promise

86 阅读1分钟

Promise就是为了实现异步操作

new Promise有两个参数一个是resolve,一个是reject,用.then执行resolve的回调函数,.catch执行reject的回调函数,.finally会执行成功或失败后的结果

Promise实例:若图片加载成功则显示,若失败就提图片错误

cosnt imgAdd = 'img'
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(imgAdd)
    .then(img => {
        docoument.body.appendChild(img)
    })
    .catch(err => {
        document.body.innerHTML = err
    })